导出DYLD_LIBRARY_PATH导致libncurses.5.4.dylib未加载错误

在我的 OS X 10.7.4 Mac上,我这样做:

export DYLD_libraRY_PATH=/usr/local/lib:$DYLD_libraRY_PATH

但是后来我得到了这样的错误:

dyld: library not loaded: /usr/lib/libncurses.5.4.dylib
  Referenced from: /bin/ls
  Reason: Incompatible library version: ls requires version 5.4.0 or later,but libncurses.5.4.dylib provides version 5.0.0
Trace/BPT trap: 5

为缓解此问题,我从头开始构建libncurses.5.4.dylib并将其安装到/usr/local/ncurses-5.9中,并这样做:

sudo mv /usr/lib/libncurses.5.4.dylib /usr/lib/libncurses.5.4.dylib_BACKUP
sudo ln -s =/usr/local/ncurses-5.9/lib/libncursesw.5.4.dylib /usr/lib/libncurses.5.4.dylib

这个新建的libncurses可以正常工作,但我会尽快

export DYLD_libraRY_PATH=/usr/local/lib:$DYLD_libraRY_PATH

它返回相同的dyld: library not loaded: /usr/lib/libncurses.5.4.dylib

作为比较:当我在 OS X 10.5.6 Mac上执行相同的export DYLD_libraRY_PATH=/usr/local/lib:$DYLD_libraRY_PATH时,没有任何错误。因此,我认为它也可以在我的 OS X 10.7.4 Mac上运行。

我应该怎么做才能使其正常工作?谢谢。

zhanglun0909 回答:导出DYLD_LIBRARY_PATH导致libncurses.5.4.dylib未加载错误

糟糕!当我检查/usr/local/lib目录时,我发现那里有libncurses.dylib个文件,并且由于导出的DYLD_LIBRARY_PATH正在加载它们,并且显然与系统二进制不兼容,得到错误。

删除了libncurses.dylib下的那些过时的/usr/local/lib文件后,错误消失了。问题解决了。

本文链接:https://www.f2er.com/3137811.html

大家都在问