XQuartz动态加载错误

时间:2011-11-21 18:06:42

标签: dyld otool 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 个答案:

答案 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环境中设置为一般的解决方法。