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