LINUX.ORG.RU

Ошибка в Inkscape 0.92 при копировании (нажатие Ctrl+C)

 ,


0

1

Дистрибутив Debian 9 Stable, Inkscape 0.92 из стандартного репозитария.

Рисую прямоугольник, выделяю, нажимаю Ctrl+C или мышкой в меню Правка - Копировать. Спустя пару секунд, за каким-то хреном, пытается открыться еще одно Inkscape-окно. Но не открывается, а появляется набор окон с ошибками. Текст следующий:

Inkscape получил дополнительные данные от выполненного сценария. Сценарий не возвратил ошибки, но это может означать и то, что результаты будут отличаться от ожидаемых.

You need to install the UniConvertor software.
For GNU/Linux: install the package python-uniconvertor.
For Windows: download it from
https://sk1project.net/modules.php?name=Products&product=uniconvertor&amp...
and install into your Inkscape's Python location

Этому расширению нужен хотя бы один не пустой слой.

Не найдено ни одного пути. Преобразуйте все объекты, которые вы хотите сохранить, в контуры.



Я, конечно, могу поставить UniConvertor, который не развивается с 2010 года. Но вопрос в другом. С какого перепугу Inkscape при копировании объекта пытается вызвать UniConvertor? И как это дело можно отключить?

UPD: Поставил Uniconvertor из системного репозитария. Куча окошек с ошибками все равно появляется, в одном из них ошибка изменилась:

UniConvertor failed:

Traceback (most recent call last):
  File "/usr/bin/uniconvertor", line 13, in <module>
    uniconv_run()
  File "/usr/lib/python2.7/dist-packages/uniconvertor/__init__.py", line 83, in uniconv_run
    from app.io import load
  File "/usr/lib/python2.7/dist-packages/uniconvertor/app/__init__.py", line 69, in <module>
    from conf.configurator import Configurator
  File "/usr/lib/python2.7/dist-packages/uniconvertor/app/conf/configurator.py", line 11, in <module>
    from app.events import connector
  File "/usr/lib/python2.7/dist-packages/uniconvertor/app/__init__.py", line 69, in <module>
    from conf.configurator import Configurator
  File "/usr/lib/python2.7/dist-packages/uniconvertor/app/conf/configurator.py", line 13, in <module>
    from sk1libs.utils.fs import gethome
ImportError: No module named sk1libs.utils.fs
★★★★★

Последнее исправление: Xintrea (всего исправлений: 4)

Ответ на: комментарий от Xintrea

Ну он в зависимости икскейпа не лезет так-то. Только к sk1libs, если нужен экспорт в sk1 из inkscape.

Попробуй начисто его поставить без этих либ (sk1libs, uniconvertor), каталог с конфигами снести.

Когда пробовал различные форматы, в том числе и sk1 для CMYK, не вылазило такой проблемы после установки/сноса этих либ.

dagaragga ★★
()
Ответ на: комментарий от dagaragga

Это кривая сборка Inkscape в дебиане.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820748

Вроде как говорят, что нужно поставить сторонний пакет python-sk1-2.0rc2 вот отсюда:

https://sk1project.net/modules.php?name=Products&product=sk1libs&op=d...

Но там только под Debian 8, а у меня 9. Но для выяснения зависимостей запустил его установку, и увидел:

dpkg: зависимости пакетов не позволяют настроить пакет python-sk1:
 python-sk1 зависит от libmagickwand-6.q16-2, однако:
  Пакет libmagickwand-6.q16-2 не установлен.
 python-sk1 зависит от python-wxgtk3.0, однако:
  Пакет python-wxgtk3.0 не установлен.
 python-sk1 зависит от python-cups, однако:
  Пакет python-cups не установлен.


Пакеты python-wxgtk3.0 и python-cups уже есть в системе, доустановил dev-пакеты к ним. После чего осталась проблема в пакете libmagickwand-6.q16-2, потому что в Debian 9 он уже libmagickwand-6.q16-3. И с этим ничего не поделаешь.

Тогда решил ставить из исходников. В исходниках сразу же ошибка в read.me:

to build package:   python setup.py build


На деле файла setup.py нет. Зато есть файл setup-sk1.py, попробовал поставить с ним.

Сначала была ошибка:

streamfilter.c:24:20: fatal error: Python.h: Нет такого файла или каталога
#include <Python.h>


Исправилась установкой пакета python-dev. Дальше ошибка:

_libcairo.c:20:21: fatal error: pycairo.h: Нет такого файла или каталога
 #include <pycairo.h>


Исправилось установкой пакета python-cairo-dev.

После этих плясок компиляция прошла нормально.

Далее собрал пакет командой:

python setup-sk1.py bdist_deb


Получился пакетный файл /dist/python-sk1-2.0rc2_amd64.deb. Установился без ошибок.

Перезапуск Inkscape... Та же проблема!

UniConvertor failed:

Traceback (most recent call last):
  File "/usr/bin/uniconvertor", line 13, in <module>
    uniconv_run()
...
ImportError: No module named sk1libs.utils.fs


На этом, как говорится, наши полномочия, это самое, как говорится, всё.

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)
Ответ на: комментарий от Xintrea

Так, удалил стандартный Inkscape. Удалил самосборную либу sk1.

Собрал Inkscape 0.92.2 5c3e80d, 2017-08-06 из исходников с официального сайта. При копипасте те же ошибки.

UniConvertor failed:

Traceback (most recent call last):
  File "/usr/bin/uniconvertor", line 13, in <module>
    uniconv_run()
  File "/usr/lib/python2.7/dist-packages/uniconvertor/__init__.py", line 83, in uniconv_run
    from app.io import load
  File "/usr/lib/python2.7/dist-packages/uniconvertor/app/__init__.py", line 69, in <module>
    from conf.configurator import Configurator
  File "/usr/lib/python2.7/dist-packages/uniconvertor/app/conf/configurator.py", line 11, in <module>
    from app.events import connector
  File "/usr/lib/python2.7/dist-packages/uniconvertor/app/__init__.py", line 69, in <module>
    from conf.configurator import Configurator
  File "/usr/lib/python2.7/dist-packages/uniconvertor/app/conf/configurator.py", line 13, in <module>
    from sk1libs.utils.fs import gethome
ImportError: No module named sk1libs.utils.fs

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Ага, значит так. Буржуи дали неправильный линк. Дали на сам sk1, а к нему еще нужно sk1libs. И этот проект на отдельной странице:

https://ru.sk1project.net/modules.php?name=Products&product=uniconvertor&...

Сборки под Debian нет вообще, ни под какой. Зато есть исходники.

Но при инсталляции имеем ошибку:

src/pycms/_pycms.c:21:18: fatal error: lcms.h: Нет такого файла или каталога
 #include <lcms.h>


Смотрим, а в Debian 9 выпилили эту либу, теперь там только liblcms2 со своим lcms2.h.

Какая-то опа.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

В общем, проблема в следующем:

В Debian 9 выпилили lcms1, который ранее назывался libcms1. На него завязан сторонний sk1libs. А на него в свою очередь завязан UniConvertor.


Решение


1.

Берем последнюю версию lcms1 (это будет 1.19) с SourceForge:

https://sourceforge.net/projects/lcms/files/lcms/

Собираем:

configure
make


Собираем DEB-пакет с помощью команды checkinstall -D от рута. В момент сборки изменяем имя в меню (пункт 2 [name]) изменяем имя пакета с lcms на liblcms1. Получится пакет:

liblcms1_1.19-1_amd64.deb


Ставим пакет (а может быть не надо, checkinstall сам его установит, не помню).


2.

Качаем исходники sk1libs:

https://sk1project.net/modules.php?name=Products&product=uniconvertor&amp...

Собираем DEB-пакет с помощью команды

python setup.py bdist_deb


Получится пакет:

python-sk1libs-0.9.1_amd64.deb


Устанавливаем его.


3.

Так как самосборка пакетов ставится в /usr/local/lib, идем в файл /etc/ld.so.conf и отдельной строкой прописываем этот путь. Далее даем команду ldconfig.


4.

Запускаем Inkscape, рисуем прямоугольник, копируем и... Да, ошибка с нерабочим UniConverter исчезла. Но остались другие!

Теперь вместо трех окошек с ошибкой вываливается два окошка. Их содержимое:

Заголловок: Inkscape получил дополнительные данные от выполненного сценария. Сценарий не возвратил ошибки, но это может означать и то, что результаты будут отличаться от ожидаемых.

No paths where found. Please convert all objects you want to save into paths.

This extension requires at least one non empty layer.



То есть, похоже, что имеется еще какое-то одно расширение, которое не может толком работать. Самое подлое, что оно о себе ничего не говорит. Так что вообще неясно как понять, в чем теперь проблема.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Далее. Убрать сообщения об ошибках таки можно. Проблема в расширениях, которые лежат в каталоге:

/usr/local/share/inkscape/extensions

- это каталог самосборного Inkscape 0.92.2. Для обычного будет /usr/share/inkscape/extensions видимо.

Чтобы найти проблемное расширение, можно сделать поиск в этом каталоге по содержимому. И окажется, что строка

No paths where found. Please convert all objects you want to save into paths.



лежит в файле hpgl_output.py. Его удалять ненадо, достаточно удалить файл расширения hpgl_output.inx.

Таким же образом находим строку

This extension requires at least one non empty layer.



и она лежит в файле gimp_xcf.py. Удаляем файл расширения gimp_xcf.inx.


Запускаем Inkscape, рисуем прямоугольник, копируем... Отлично, больше ошибок не появляется. Значит ли это, что Inkscape теперь можно пользоваться? Нет!

Теперь нужно бороться со странным окном в четверть экрана, которое появляется через пару секунд после копирования и сразу исчезает. Понять что это такое пока не получается.

Окно - это еще одна копия Inkscape, в котором видно один скопированный в буфер объект. В загловке видно случайное имя файла, например tmpTriOim.svg.

Каким расширением Inkscape при копировании открывает еще один Inkscape - непонятно.

Xintrea ★★★★★
() автор топика

А потом некоторые ещё удивляются, чего это авторы всяких шоткатов с ардурами чужие сборки не поддерживают.

AP ★★★★★
()
Ответ на: комментарий от AP

Не в шоткатах дело. Этот баг тянется уже несколько лет в Debian, всячески видоизменяясь.

Раньше inkscape не дружил с любым одновременно запущенным java приложением. Теперь пишут, что даже запускать не нужно - при инсталляции java приложения типа NetBeans регистрируется в DE какая-то функция обработки буфера обмена, из-за которой Inkscape начинает тупить. Я же написал что можно в меню нажать копирование, и будет та же проблема, даже ctrl+c нажимать не нужно.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от dagaragga

Ну-ка скажи, какое у тебя окружение.

- Версия Debian
- Какое DE
- Стоит ли какой нибудь Java софт
- Не возникает ли проблема, если запустить Inkscape при уже запущенном Java софте, например NetBeans, Eclipse.
- Дай полный вывод команды ls -la в каталоге расширений
/usr/share/inkscape/extensions, я сравню его с моим списком файлов.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от AP

Вот мой топик пятилетней давности с таким же багом - как минимум, с версии Inkscape 0.48 тянется

Inkscape 0.48: два года не могут исправить жуткий баг, с которым невозможно работать

И всем насрать, до сих пор исправить не могут.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

А, ну это уже совсем другое дело, да.

AP ★★★★★
()

Я, конечно, могу поставить UniConvertor, который не развивается с 2010 года.

Крайние значимые коммиты: Июль 2015

https://github.com/sk1project/uniconvertor/commits/master

Linfan, ты бы людям пояснил как там ситуация с UniConvertor и UniConvertor 2.0 что-ли ;-)

https://github.com/sk1project/sk1-wx

P.S.: Сегодня на ЛОР'е объявили день охоты на баги Inkscape?!

Inkscape и проблемы OpenSource программ

atsym ★★★★★
()
Последнее исправление: atsym (всего исправлений: 3)
Ответ на: комментарий от Xintrea

Толсто...

Вроде как говорят, что нужно поставить сторонний пакет python-sk1-2.0rc2 вот отсюда:
Ага, значит так. Буржуи дали неправильный линк. Дали на сам sk1, а к нему еще нужно sk1libs. И этот проект на отдельной странице:
Сборки под Debian нет вообще, ни под какой.

Зачем же так толсто то, а? Ну вот же они!

atsym ★★★★★
()
Ответ на: комментарий от Xintrea

- Версия Debian - Manjaro :D
- XFCE
- Не пользуюсь, но изначально openjdk присутствует
- ...
- here

dagaragga ★★
()
Ответ на: Толсто... от atsym

Ага, догадайся сам что на официальной странице есть под треть дистров, а остальное официальное ищи в каких-то найтбилдах. Мне проще из исходников собрать прикрутив старые либы, чем понять где у них там что на сайте есть.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от AP

Вообще-то это страница униконвертора. Инскейп использует униконвертор, который состоит в частности из sk1lib. Я не вижу там сборок этой либы под Debian 9. Мне то пофигу, я и сам могу собрать, а как вы добрались до страницы ночных билдов, я так и не нашел, хоть и искал. На сраницах софта ссылки нет. В ресурсах для девелоперах этрй ссылки тоже нет. Где же она?

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Вообще-то это страница униконвертора.

И в чём новость?

Инскейп использует униконвертор

Вот только совсем не 2.0rc.

AP ★★★★★
()
Ответ на: комментарий от Xintrea

Inkscape 0.92.2, Java софт стоит и работает, Openbox, Ubuntu 16.04.3 Что там в Debian-е намутили ХЗ, но похоже что это проблема не Inkscape, а Debian-а и твоих рук, ты не тот UniConvertor собрал судя по всему, слишком свежий по идее. Тебе сюда надо.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от Xintrea

Ага, догадайся сам ...

Во-первых, ты же вроде у кого-то всё время спрашивал, а не догадывался сам

Вроде как говорят ...

Буржуи дали неправильный линк...

Мог бы сразу на ЛОР'е спрашивать или же у автора UniConvertor и sK1 - Linfan

Во-вторых, о «найтбилдах»

а остальное официальное ищи в каких-то найтбилдах.

Вот python-sk1-2.0rc2 (и там таки тоже есть сборки для Debian)

В-третьих, sk1libs относится к ветке sK1 0.9.x

Кроме того, UniConvertor существует в двух версиях: UniConvertor 1.x и UniConvertor 2.0 (последний являеться частью пакета python-sk1-2.0*)

Научитесь уже пользоваться Github'ом

atsym ★★★★★
()
Последнее исправление: atsym (всего исправлений: 1)
Ответ на: комментарий от peregrine

Inkscape из репозитария Debian 9 глючит. Униконвертер из репозитария Debian 9 не имеет либу sk1lib. Что мне остается делать? Поставить либу. Это я и сделал. И ошибка с Uniconverter ушла. Остались другие.

По моим наблюдениям вся эта чехорда появляется при условиях: Debian, Netbeans, Qt-подобная среда - KDE или LXQt.

Сейчас проблема в том, что при копировании любой фигуры в буфер обмена, появляется еще одно Inkscape. Пока не разобрался как побороть.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от atsym

Научитесь уже пользоваться Github'ом

А почему бы не воспользоваться Bitbucket или Sorceforge, или чем-то еще? Вы так и не написали где на официальных страницах ссылки на ночные сборки. Их нет.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Вот, сейчас проверил - на этом же компе в MATE и GNOME этого второго окна Inkscape в момент копирования не появляется. Из этого делаю вывод, что Inkscape разрабатывают любители GTK, которые сидят в среде GTK, и о глюках в других средах не беспокоятся.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

на этом же компе в MATE и GNOME этого второго окна Inkscape в момент копирования не появляется

С теми же самыми либами, прошу заметить. Так что не надо ляля что униконвертер или инкскейп не той версии.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от dagaragga

Да, дело оказалось не в в либах. А в коллбек-функции в файле /src/ui/clipboard.cpp

/**
 * Callback called when some other application requests data from Inkscape.
 *
 * Finds a suitable output extension to save the internal clipboard document,
 * then saves it to memory and sets the clipboard contents.
 */
void ClipboardManagerImpl::_onGet(Gtk::SelectionData &sel, guint /*info*/)

Её вызывает внешняя программа, запрашивающая вполне конкретный формат для себя. Но если в системе стоит менеджер буфера обмена, то он запрашивает Inkscape все возможные форматы.

В моем случае это оказался Qlipper. Выключаю его - и проблема пропадает.

Теперь осталось понять, какой менеджер буфера обмена нормально работает с Inkscape.

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)
Ответ на: комментарий от AP

Ну вот у меня дебиан тестинг и самосбор инкскейпа. Ничего подобного ни разу не видал.

А ты можешь запустить Qlipper и проверить копирование при его работе?

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Очень толсто ...

Вы так и не написали где на официальных страницах ссылки на ночные сборки. Их нет.

Я уже давал ссылки на официальные страницы

Ошибка в Inkscape 0.92 при копировании (нажатие Ctrl+C) (комментарий)

Ещё раз

http://blog.sk1project.net/2016/12/nightly-builds/

http://sk1project.net/viewpage.php?page_id=24

atsym ★★★★★
()
Ответ на: Очень толсто ... от atsym

Ещё раз
http://blog.sk1project.net/2016/12/nightly-builds/

Вы предлагаете посетителям читать Development Blog, чтобы найти там запись от December 26, 2016, в которой он сможет увидеть эту ссылку?


http://sk1project.net/viewpage.php?page_id=24

Вам уже сказали, что это sk1, а не ночные сборки униконвертера.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от atsym

Кароч, авторы не разместили на официальных страницах ссылки на найтбилды. Это факт. Бегать и искать по интернету где они еще чего припрятали - задача для очень упоротых, мне непосильная.

Ту лучше скажи, появляется ли глюк у тебя на 0.92.2 если включен Qlipper или какой другой менеджер буфера обмена.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от atsym

Я, конечно, могу поставить UniConvertor, который не развивается с 2010 года.

Крайние значимые коммиты: Июль 2015

«ЛЮДИ!!! ЧЕЛОВЕКИ!!! АУ!!» (с) Для кого алфавит англицкий выдумали? Ну на главной же страницы репы ясно написано, куда ходить:

UniConvertor is a multiplatform universal vector graphics translator.
Uses sK1 model to convert one format to another.

THIS REPOSITORY CONTAINS OLD UNICONVERTOR 1.x BRANCH.
Actual UniConvertor 2.0 is under active development and the source
code is placed in sk1project/sk1-wx repository (together with sK1 2.0).

Linfan ★★★★★
()
Ответ на: комментарий от Xintrea

Вам уже сказали, что это sk1, а не ночные сборки униконвертера.

Это верно. Но atsym чует, шо наша сборочная ферма уже шлепает найт-билды UC 2.0 в тестовом режиме. И не сегодня-завтра таки будет их анонс :)

Linfan ★★★★★
()
Последнее исправление: Linfan (всего исправлений: 1)
Ответ на: комментарий от Linfan

Это ты ТС'у говори, а не мне ;-)

Я ведь ТС'у уже дважды это объяснял (смотри мои комменты выше), а он всё равно упёрся: на Github не ходит; английский не читает; путает «официальный сайт» с «главной страницей официального сайта»; не признает официальным блог разработчика; и т.д. ...

Эх.

atsym ★★★★★
()
Последнее исправление: atsym (всего исправлений: 1)
Ответ на: комментарий от Linfan

THIS REPOSITORY CONTAINS OLD UNICONVERTOR 1.x BRANCH.

Actual UniConvertor 2.0 is under active development and the source
code is placed in sk1project/sk1-wx repository (together with sK1 2.0).

Хчешь сказать, что в Inkscape 0.92.2 уже используется еще не выпущенный Uniconvertor 2 ?

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Нет, конечно :) Я за Инку не отвечал в треде. Я ответил на вопрос по поводу UC 2.0

Linfan ★★★★★
()
Ответ на: комментарий от Linfan

atsym , Xintrea ну... ни в чем себе не отказывайте :)

Дякую! ;-)

добавили поддержку PSD

Откуда дровишки? Кстати, вот issue по поводу добавления поддержки PSD

atsym ★★★★★
()
Ответ на: комментарий от Linfan

Btw на этой неделе добавили поддержку PSD и XCF файлов.

И каково качество поддержки фотошоповых файлов? Это самый главный вопрос на сегодня в графическом опенсорче.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Пока поддержка самая элементарная - весь контент сводится в один битмап. Но с сохранением цветового пространства (кароч, CMYK есть). Дальше будем посмотреть, как пойдет.

Linfan ★★★★★
()
Ответ на: комментарий от Linfan

Пока поддержка самая элементарная - весь контент сводится в один битмап.

И как я понял, при этом все слои считываються как «видимые», независимо от того какое состояние «видимости» каждого из слоёв хранится в PSD.

atsym ★★★★★
()
Последнее исправление: atsym (всего исправлений: 2)
Ответ на: комментарий от Xintrea

Касательно сабжа треда - поставь UC 2.0 из снапшотов. Может косяк и не будет проявляться. Хотя каким боком UC к копированию - хз.

Linfan ★★★★★
()
Ответ на: комментарий от Linfan

Зачитку делает ImageMagick.

Может, попробуешь адаптировать PSD-либу от AzPainter для нужд sK1 2.0 и UniConvertor 2.0?

P.S.: Пора бы уже создать отдельный топик на ЛОР'е (в подфоруме «Multimedia») для обсуждения sK1 2.0 & UniConvertor 2.0!

www.linux.org.ru/forum/multimedia/

atsym ★★★★★
()
Последнее исправление: atsym (всего исправлений: 1)
Ответ на: комментарий от atsym

Может, попробуешь адаптировать PSD-либу от AzPainter для нужд sK1 2.0 и UniConvertor 2.0?

На адаптацию этого лисапеда сил и времени уйдет больше, чем на написание своего. А своим еще и рулить можно :)

Linfan ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.