#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.