Configuração de ghostscript quebrada

8

Algo deu errado com minha configuração do ghostscript, pela qual obtenho os seguintes erros quando, por exemplo, usando 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

Eu descobri a seguinte solução alternativa (inserida no meu .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/'

No entanto, não consegui encontrar uma maneira de tornar essa configuração 'global'. Por exemplo, quando say epstopdf é chamado de export_fig matlab, ele fornece erros semelhantes aos anteriores, a menos que eu implemente uma solução semelhante.

Acho que isso teve efeitos indiretos de impedir que a impressão funcione corretamente no meu sistema.

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

Qualquer assistência muito apreciada.

James
fonte
SWAG completo - mas você tentou reinstalar o libgs9-commonpacote?
steeldriver
Eu fiz isso com sudo dpkg --purge --force-depends libgs9-common... sudo apt-get install libgs9-common. Hmm parece ter corrigido, epstopdfmas parou a solução alternativa funcionando gs. Devo prosseguir e limpar completamente o libgs9-common (desinstalar dependências) e reinstalar todos os pacotes?
James
Eu não sei . . . Eu teria tentado, sudo apt install --reinstall libgs9-commone não o nível inferior dpkg, mas não sei se o resultado seria diferente. Você sabe de onde /usr/share/color/icc/ghostscript/vêm os arquivos? Não consigo encontrar um pacote que fornece-los (os perfis de cores padrão parecem viver em /usr/share/ghostscript/9.18/iccprofiles/)
steeldriver
Reinstalar via apt era o mesmo. A solução alternativa precisava ser atualizada /usr/share/ghostscript/9.18/iccprofiles/como você diz. Alguma outra coisa culpada para tentar reinstalar?
James
Execute gs --helpe copie a lista de Search paths em sua pergunta. Existem variáveis ​​de ambiente relevantes definidas ( env | grep GS_)?
steeldriver

Respostas:

20

Aqui está o que funcionou para mim:

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

Algo havia deixado um diretório vazio em /usr/share/ghostscript/9.25/iccprofiles. Parece que libgs9-commoncria um link simbólico de /usr/share/ghostscript/9.25/iccprofilespara /usr/share/color/icc/ghostscript, mas silenciosamente falha ao criá-lo, se já houver algo no sistema de arquivos.

Ville Laurikari
fonte
6
Trabalhou para mim também, em 18.04.
Kaleissin
1
Surpreendente. Eu tinha a impressão completamente quebrada no Ubuntu 18.04 e, em seguida, na 18.10, e percebi que o Evince não conseguia abrir arquivos PS. Sua solução funciona perfeitamente.
Andrea Lazzarotto 21/10
Ville, trabalhou para mim também! Muito obrigado mesmo! Estava tendo problemas com o cups-pdf não imprimindo em ~ / PDF; acabou que o gs estava falhando com o código 255 (obrigado Volker por apontar isso) e a você pela sua receita, pois finalmente trouxe o gs de volta de um estado quebrado.
Robert