Сломанная конфигурация ghostscript

8

Что-то пошло не так с моей конфигурацией ghostscript, в результате чего я получаю следующие ошибки, например, при использовании epstopdf


 ./base/gsicc_manage.c:1088: gsicc_open_search(): Could not find default_gray.icc 
| ./base/gsicc_manage.c:1914: gsicc_init_iccmanager(): cannot find default icc profile
  ./base/gsicc_manage.c:1088: gsicc_open_search(): Could not find default_rgb.icc 
| ./base/gsicc_manage.c:1708: gsicc_set_device_profile(): cannot find device profile

**** Unable to open the initial device, quitting.
  ./base/gsicc_manage.c:1088: gsicc_open_search(): Could not find default_gray.icc 
| ./base/gsicc_manage.c:1708: gsicc_set_device_profile(): cannot find device profile
Unrecoverable error: unknownerror in .special_op
  ./base/gsicc_manage.c:1088: gsicc_open_search(): Could not find default_gray.icc 
+ ./base/gsicc_manage.c:2650: gs_setdefaultgrayicc(): cannot find default gray icc profile

Я понял следующий обходной путь (вставлен в мой .bashrc)

alias gs='gs -sICCProfilesDir=/usr/share/color/icc/ghostscript/'<br>
alias epstopdf='epstopdf --gsopt=-sICCProfilesDir=/usr/share/color/icc/ghostscript/' <br>
alias ps2pdf='ps2pdf -sICCProfilesDir=/usr/share/color/icc/ghostscript/'

Однако я не смог найти способ сделать этот параметр «глобальным». Например, когда говорят, что epstopdf вызывается из export_fig matlab, он выдает ошибки, аналогичные приведенным выше, если я не реализую подобный обходной путь.

Я думаю, что это привело к тому, что печать перестала нормально работать в моей системе.

Ubuntu 16.04  
ghostscript, Version: 9.18~dfsg~0-0ubuntu2.6

Любая помощь с благодарностью.

Джеймс
источник
Завершите SWAG - но вы пытались переустановить libgs9-commonпакет?
Steeldriver
Я сделал это с sudo dpkg --purge --force-depends libgs9-common... sudo apt-get install libgs9-common. Хммм, похоже, это исправили, epstopdfно прекратили работу обходного пути gs. Должен ли я полностью очистить libgs9-common (удаление зависимостей), а затем переустановить все пакеты?
Джеймс
Я не знаю . , , Я бы попробовал, sudo apt install --reinstall libgs9-commonа не нижний уровень dpkg, но я не знаю, будет ли результат другим. Вы знаете, откуда /usr/share/color/icc/ghostscript/берутся файлы? Я не могу найти пакет, который их предоставляет (цветовые профили по умолчанию, по-видимому, живут /usr/share/ghostscript/9.18/iccprofiles/)
steeldriver
Переустановка через apt была такой же. Обходной путь необходимо обновить, /usr/share/ghostscript/9.18/iccprofiles/как вы говорите. Любые другие вещи виновника, чтобы попытаться переустановить?
Джеймс
Пожалуйста, запустите gs --helpи скопируйте список Search paths в свой вопрос. Определены ли соответствующие переменные среды ( env | grep GS_)?
Steeldriver

Ответы:

20

Вот что сработало для меня:

sudo rmdir /usr/share/ghostscript/9.25/iccprofiles
sudo apt-get install --reinstall libgs9-common

Что-то оставило пустой каталог в /usr/share/ghostscript/9.25/iccprofiles. Похоже, что libgs9-commonсоздает символическую ссылку из /usr/share/ghostscript/9.25/iccprofilesв /usr/share/color/icc/ghostscript, но молча не может создать его, если в файловой системе уже есть что-то.

Вилле Лаурикари
источник
6
У меня тоже работал, в 18.04.
Калейссин
1
Удивительно. Я полностью потерял печать на Ubuntu 18.04, а затем 18.10, и понял, что Evince не может открыть PS-файлы. Ваше решение работает отлично.
Андреа Лаззаротто
Вилле, у меня тоже работал! Спасибо Вам большое! Проблемы с печатью cups-pdf в ~ / PDF; оказалось, что gs не работает с кодом 255 (спасибо Volker за указание на это) и вам за ваш рецепт, поскольку он наконец вернул gs из сломанного состояния.
Роберт