2011-11-21 54 views
3

我更新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) 
    ... 

所以库是正确的版本!

什么可能导致此错误?

回答

1

像这样的错误是由用户在其环境中设置DYLD_LIBRARY_PATH导致的。这很可能在/etc/launchd.conf,/ etc/profile,/ etc/bashrc,〜/ .profile,〜/ .bashrc,〜/ .bash_profile或类似文件中完成。

DYLD_LIBRARY_PATH包含一个包含名为libfreetype.6.dylib的文件的目录,该文件被用来代替XQuartz中包含的文件。

无论谁给你建议设置DYLD_LIBRARY_PATH的可能都是错误的。它只能用于非常特殊的情况,比如在开发环境中。它几乎不应该用于运输产品,也不能在您的shell环境中设置为一般解决方法。