我使用的是Macos 10.14.5。我通过Macports运行Ghostscript,最近又升级到Ghostscript 9.27。自从升级以来,我使用Ghostscript进行的大多数操作(Imagemagick文件转换)都不再起作用。我犯了一个愚蠢的错误,那就是在Macports中删除旧版本的Ghostscript(是的。)。
本质上,Ghostscript崩溃并显示“ Abort trap:6”错误。例?我尝试将PDF转换为PNG。我明白了:
[ghostscript library 9.27] -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 '-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 '-r600x600' '-sOutputFile=/var/folders/k0/m6mz3d055m75782ynnkt2k0w0000gn/T/magick-5910MkmWy1yIM0tx%d' '-f/var/folders/k0/m6mz3d055m75782ynnkt2k0w0000gn/T/magick-5910gs9cNcP8C7cU' '-f/var/folders/k0/m6mz3d055m75782ynnkt2k0w0000gn/T/magick-5910iJZ-CiPdfIWp'Abort trap: 6
我认为这与“ / usr / local / bin / gs-X11”无法找到dyld库的正确目录有关。当我运行gs-X11时,我得到了:
/ usr / local / bin / gs-X11 dyld:未加载库:/opt/X11/lib/libXt.6.dylib 引用自:/ usr / local / bin / gs-X11 原因:找不到图片 中止陷阱:6
“ libXt.6.dylib”库存在于我的文件系统上,但不存在于“ / opt / X11 /”中,而是存在于“ / opt / local / lib /”中。
如何使Ghostscript使用正确的目录?
答案 0 :(得分:0)
Ghostscript不会生成名为“ gs-X11”的可执行文件,该可执行文件应简称为“ gs”。
“听起来像”您从某个地方获取了一个预构建的二进制文件,该二进制文件旨在获得X-Windows支持,并且该支持是由系统共享库提供的,正如您正确地说的那样,安装位置。
我认为您不能(轻松地)修改二进制文件以在其他地方查找系统库,但是我不是Mac开发人员,所以我可能会误会。
鉴于您已经有了该库,可以尝试将其复制到/ opt / X11 / lib。
或者您可以尝试从中获取二进制文件的源,并寻找非X Windows版本。 (或者问他们,大概是Macports的人解决了这个问题)
或者您可以从源代码自己构建Ghostscript。
要从源代码进行构建,您将需要gcc和自动工具,如果您还没有的话,可以从HomeBrew中选择autoconf,automake和libtool。这样,从www.ghostscript.com下载页面获取源压缩包,将其解压缩到方便的位置,然后从该文件夹中依次执行“ ./autogen.sh”和“ make”。那应该构建一个与您的系统兼容的Ghostscript版本。
说实话,这实际上不是Ghostscript问题,更多的是Mac系统问题。
答案 1 :(得分:0)
我在通过 MacPorts 和 XQuartz 安装(和卸载)了各种版本的 X11 的机器上遇到了类似的问题。我似乎通过在缺少的 /opt/X11 和现有的 /opt/local 之间提供一个符号链接来解决这个问题:
sudo ln -s /opt/local /opt/X11
sudo ln -s /opt/local /opt/X11R6
当 /usr/local/X11 和 /usr/local/X11R6 不存在时,似乎有时会发生类似的问题,但在我的情况下,/usr/local/X11 已经有一个指向 /opt/X11 的符号链接(如/usr/local/X11R6 )
可能要真正正确修复所有问题,我应该completely uninstall MacPorts 和completely uninstall XQuartz,并删除所有符号链接,然后重新启动计算机以确保一切正常。然后重新安装它,并希望安装程序将所有内容放在正确的位置。或许 redoing my MacTeX LaTeX installation 也是明智之举。