проблема libiconv.2.dylib Mac OS X

#macos #libiconv

#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
  

Есть ли какой-либо способ восстановить (time machine недоступен) или перекомпилировать эту библиотеку для Mac (10.6)?

Комментарии:

1. Каков результат file /usr/lib/libiconv.2.dylib и /Applications/MacVim.app/Contents/MacOS/Vim ?

Ответ №1:

Похоже, у вас несоответствие между архитектурами. Системная библиотека libiconv должна представлять собой универсальный файл, содержащий все необходимые arches; в 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.