libiconv.2.dylib Mac OS X问题

时间:2011-04-29 18:25:39

标签: macos libiconv

我的重要文件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)?

1 个答案:

答案 0 :(得分:4)

您似乎在架构之间存在不匹配。系统库libiconv应该是一个包含所有必要arch的通用文件;在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

需要至少有一个通用架构,并且应用程序需要在其中一个常见的arch中运行。确保您拥有该应用的当前版本。如果libiconv没有所有这些体系结构,则OS X 10.6的系统安装有问题。也许你试图在/usr/lib中安装一些东西?不要那样做。如果是这样,您可能需要小心地重新安装OS X 10.6。