libtiff.3.dylib: неизвестно требуется команда загрузки 0x80000022 - PullRequest
3 голосов
/ 15 ноября 2009

Кто-нибудь нашел исправление для этого? Я читал, что это связано с новым форматом dylib в Snow Leopard ...

(Это библиотека, которую я получаю от MacPorts.)

Спасибо, Руи

Ответы [ 3 ]

2 голосов
/ 15 ноября 2009

С чем вы пытаетесь использовать эту библиотеку? Скорее всего, у вас есть старая версия какого-либо инструмента сборки или приложения. Вы обновили все свои MacPorts установки?

sudo port selfupdate
sudo port -u upgrade outdated

РЕДАКТИРОВАТЬ: На основе вашей дополнительной информации, больше вопросов:

У вас есть -I /sw/include и -L /sw/lib, которые являются стандартными местоположениями для Fink, а не MacPorts (/opt/local/{include,lib}). В общем, смешивать пакеты от Fink и MacPorts не очень хорошая идея. Вы что-нибудь делаете из Fink? Если да, все ли пакеты Fink актуальны?

Если это не решит проблему, вы опираетесь на 10.5 и, если да, то на 10.5? Или вы строите на 10.6 приложение, предназначенное для 10.5 и 10.6? Убедитесь, что у вас установлен последний Xcode в любом случае.

РЕДАКТИРОВАТЬ: очень трудно диагностировать подобные проблемы на основе отрывочной информации. Вы говорите Leopard в своем последнем комментарии, но затем говорите, что используете 10.6 SDK. На данный момент все, что я могу предложить, это убедиться, что у вас установлены последние обновления XCode, и, если вам нужна дополнительная помощь, обновите вопрос с более полным описанием того, что вы пытаетесь сделать, и как именно и где вы находитесь. пытаясь это сделать, включая версии таких инструментов, как gcc, et al. Удачи!

1 голос
/ 30 марта 2010

У нас возникает та же проблема, когда мы пытаемся запустить исполняемый файл, скомпилированный и связанный на Snow Leopard без -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5, а затем пытаемся запустить его на Leopard. Обратите внимание, что -isysroot отличается от вашего комментария выше.

0 голосов
/ 23 октября 2011

Приложение было неправильно построено на машине OS X 10.6 для машины 10.5. Разработчик может исправить это, приняв во внимание три вещи:

  1. Использование правильных параметров компилятора: gcc-4.2 -mmacosx-version-min = 10,5 -isysroot /Developer/SDKs/MacOSX10.5.sdk ...
  2. Использование правильных настроек компоновщика (настройка переменной среды перед командой линковки). Это необходимо, чтобы компоновщик OS X 10.6 не использовал команду загрузчика 'LC_DYLD_INFO_ONLY' (= 0x80000022), поскольку OS X 10.5 не понимает эту команду:

    экспорт MACOSX_DEPLOYMENT_TARGET = 10,5 (или setenv MACOSX_DEPLOYMENT_TARGET = 10,5)

После того, как это исправлено, можно проверить, правильно ли было создано приложение для OS X 10.5, запустив 'otool':

otool -l бинарный

Правильный двоичный файл не должен содержать никаких команд загрузки 'LC_DYLD_INFO_ONLY' (только команды 'LC_DYLD_INFO').

(см. Также статью в моем блоге http://grauonline.de/wordpress/?p=71)

...