install_name_tool сообщает о неверно сформированном объекте

Каждый раз, когда я пытаюсь использовать install_name_tool на своем компьютере, он сообщает следующее

install_name_tool: object: Abacate malformed object (unknown load command 4)

Я читал, что при построении двоичного файла может быть ошибка. Для проверки я создаю простейшую программу на C ++ hello world и пытаюсь что-то изменить с помощью install_name_tool. Не сработало. Что я делаю неправильно?

В настоящее время у меня XCode 4.2 под управлением ОС Snow Leopard.


person McLeary    schedule 30.04.2012    source источник
comment
Я подозреваю, что вы используете старую версию install_name_tool, оставшуюся после предыдущей установки Xcode. Вы установили Unix Developer Tools при установке Xcode 4.2? Что показывает type -a install_name_tool?   -  person Ken Thomases    schedule 01.05.2012
comment
Есть ли способ проверить, установил ли я инструменты разработчика с XCode 4.2? type -a install_name_tool просто укажите место установки install_name_tool is /usr/bin/install_name_tool   -  person McLeary    schedule 01.05.2012
comment
Я бы порекомендовал вам повторить установку Xcode 4.2 и обязательно установить Unix Developer Tools. Вы также можете попробовать pkgutil --file-info /usr/bin/install_name_tool, чтобы узнать, что там написано.   -  person Ken Thomases    schedule 01.05.2012
comment
@KenThomases, ты прав. pkgutil --fine-info /usr/bin/install_name_tool отчет среди прочего com.apple.pkg.update.devtools.3.2.6.XcodeUpdateUNIXDevSupport. Я попробую обновить Unix Developer Tools.   -  person McLeary    schedule 01.05.2012
comment
Еще одна вещь, о которой нужно знать (и я только что упал), это то, что у MacPorts есть собственная версия install_name_tool, предоставляемая пакетом cctools. Теоретически это просто пересобранная версия стандартных cctools, но нет, вроде битая.   -  person Jashank Jeremy    schedule 17.12.2012
comment
В моем случае помешал старый install_name_tool от MacPorts. Удаление с помощью sudo rm -rf /opt/local/bin/install_name_tool и использование инструмента из командной строки выполнено успешно.   -  person Ain Tohvri    schedule 11.01.2019


Ответы (2)


Видимо install_name_tool не обновляется при обновлении XCode. Вам необходимо установить инструменты командной строки из настроек XCode. См. Также install_name_tool в OS X Lion. Это разрешило ту же ошибку для меня.

person Maarten O.    schedule 09.01.2013
comment
Я получаю эту ошибку, но все же установил обновленные инструменты commandLine. - person eastafri; 10.10.2013
comment
Я наблюдал это тоже на Mavericks. Мне пришлось вручную заменить тот, который находится в / usr / bin, на тот из /Applications/Xcode.app/Contents//Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin - person Vishal; 19.05.2014

Удалось заставить работать с Mac OS 10.9.3

https://github.com/Homebrew/homebrew/issues/26544

$$: ~ otool -L / usr / bin / имя_установки_инструмент

/ usr / bin / install_name_tool: /usr/lib/libxcselect.dylib (версия совместимости 1.0.0, текущая версия 1.0.0) /usr/lib/libSystem.B.dylib (версия совместимости 1.0.0, текущая версия 1197.1.1 )

$$: ~ pkgutil --file-info / usr / bin / имя_установки_инструмент

том: / путь: / usr / bin / install_name_tool pkgid: com.apple.pkg.Essentials версия pkg: 10.9.0.1.1.1306847324 время установки: 1390577801 uid: 0 gid: 0 mode: 755

Больше никаких ошибок в wget:

$$: ~ wget dyld: Библиотека не загружена:

@@ HOMEBREW_PREFIX @@ / opt / openssl / lib / libssl.1.0.0.dylib Ссылка из: / usr / local / bin / wget Причина: изображение не найдено

person trigas    schedule 23.05.2014