【问题标题】:Ghostscript looks for dyld library in the wrong placeGhostscript 在错误的地方寻找 dyld 库
【发布时间】:2021-03-15 09:04:13
【问题描述】:

我使用的是 Macos 10.14.5。我通过 Macports 运行 Ghostscript,最近升级到 Ghostscript 9.27。自从我升级以来,我使用 Ghostscript 进行的大部分工作(Imagemagick 文件转换)都不再起作用了。我犯了一个愚蠢的错误,在 Macports 中删除了旧版本的 Ghostscript(是的......)。

基本上,Ghostscript 会因“中止陷阱: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 使用正确的目录?

【问题讨论】:

    标签: x11 ghostscript


    【解决方案1】:

    Ghostscript 不会构建名为“gs-X11”的可执行文件,该可执行文件应简称为“gs”。

    “听起来”您从某个地方获取了一个预构建的二进制文件,该二进制文件已被构建为期望 X-Windows 支持,并且该支持由系统共享库提供,正如您所说的那样,不是你安装它的地方。

    我认为您不能(轻松)修改二进制文件以在其他地方查找系统库,但我不是 Mac 开发人员,所以我可能会弄错。

    鉴于您已经拥有该库,您可以尝试简单地将其复制到 /opt/X11/lib。

    或者您可以尝试获取二进制文件的源并查找非 X-Windows 版本。 (或者问他们,大概是 Macports 的人来解决这个问题)

    或者您可以自己从源代码构建 Ghostscript。

    要从源代码构建,您需要 gcc 和 autotools,如果您还没有这些,可以从 HomeBrew 获取 autoconf、automake 和 libtool。这样,从 www.ghostscript.com 下载页面获取源 tarball,在方便的地方解压,然后从该文件夹中执行“./autogen.sh”,然后执行“make”。这应该会构建一个与您的系统兼容的 Ghostscript 版本。

    说实话,这真的不是 Ghostscript 问题,更像是 Mac 系统问题。

    【讨论】:

      【解决方案2】:

      我在通过MacPortsXQuartz 安装(和卸载)各种版本的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 MacPortscompletely uninstall XQuartz,并删除所有符号链接,然后重新启动计算机以确保一切正常。然后重新安装它,并希望安装人员把所有东西都放在正确的地方。或许redoing my MacTeX LaTeX installation 也是明智之举。

      【讨论】:

        猜你喜欢
        • 2020-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-25
        • 2020-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多