2

我对重要文件 libiconv.2.dylib 有疑问。当我想启动一些应用程序(如 macvim 等)时,我收到此错误:

 dyld: Library not loaded: /usr/lib/libiconv.2.dylib
  Referenced from: /Applications/MacVim.app/Contents/MacOS/Vim
  Reason: no suitable image found.  Did find:
    /usr/lib/libiconv.2.dylib: mach-o, but wrong architecture
    /usr/lib/libiconv.2.dylib: mach-o, but wrong architecture
Trace/BPT trap

有没有办法恢复(没有可用的时间机器)或为 Mac(10.6)重新编译这个库?

4

1 回答 1

4

您似乎在架构之间存在不匹配。系统库libiconv应该是一个包含所有必要拱门的通用文件;在 OS X 10.6 上,Apple 附带了三个。

$ file /usr/lib/libiconv.2.dylib 
/usr/lib/libiconv.2.dylib: Mach-O universal binary with 3 architectures
/usr/lib/libiconv.2.dylib (for architecture x86_64):    Mach-O 64-bit dynamically linked shared library x86_64
/usr/lib/libiconv.2.dylib (for architecture i386):  Mach-O dynamically linked shared library i386
/usr/lib/libiconv.2.dylib (for architecture ppc7400):   Mach-O dynamically linked shared library ppc

对 MacVim.app 可执行文件尝试类似的操作:

$ file /Applications/MacVim.app/Contents/MacOS/Vim

需要至少有一种通用架构,并且应用程序需要在这些通用架构之一中运行。确保您拥有该应用程序的当前版本。如果libiconv没有所有这些架构,则您的 OS X 10.6 系统安装有问题。也许您尝试将某些东西安装到/usr/lib? 不要那样做。如果是这样,您可能需要仔细重新安装 OS X 10.6。

于 2011-04-29T18:51:42.117 回答