libiconv.2.dylib Mac OS X Проблема - PullRequest
2 голосов
/ 29 апреля 2011

У меня проблема с важным файлом 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 Ответ

4 голосов
/ 29 апреля 2011

Похоже, у вас несоответствие между архитектурами. Системная библиотека 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.

...