我更新了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环境中的通用解决方案。