XQuartz动态加载误差



我更新了XQuartz,现在它不加载了,抱怨说:

Dyld Error Message:
  Library not loaded: /opt/X11/lib/libfreetype.6.dylib
  Referenced from: /Applications/Utilities/XQuartz.app/Contents/MacOS/X11.bin
  Reason: Incompatible library version: X11.bin requires version 14.0.0 or later, but libfreetype.6.dylib provides version 13.0.0

但是,如果我otool -L /opt/X11/lib/libfreetype.6.dylib:

/opt/X11/lib/libfreetype.6.dylib:
    /opt/X11/lib/libfreetype.6.dylib (compatibility version 14.0.0, current version 14.2.0)
    ...

所以库是正确的版本!

是什么导致了这个错误?

这样的错误是由于用户在其环境中设置了DYLD_LIBRARY_PATH造成的。这可能在/etc/launchd.conf、/etc/profile、/etc/bashrc、~/中完成。简介~/。bashrc,(~/。Bash_profile,或类似的

DYLD_LIBRARY_PATH包含一个目录,其中包含一个名为libfreetype.6的文件。

建议设置DYLD_LIBRARY_PATH的人很可能做错了。它应该只在非常特殊的情况下使用,比如在开发环境中。它几乎不应该被用于交付产品,也不应该被设置为shell环境中的通用解决方案。

最新更新