ImageMagick на Snow Leopard MAC OSX. Там какой-либо путь состоит в том, чтобы заставить это компилировать и работать?

Кажется, что я испытываю больше затруднений при получении стандартных вещей Unix работать на Snow Leopard, чем какая-либо другая платформа - включая Windows cygwin

Для нескольких прошлых дней я пытался заставить ImageMagick работать на Snow Leopard.

Самый очевидный путем, Порты Mac, сбои:

tppllc-Mac-Pro:ImageMagick-sl swirsky$ sudo port install imagemagick
--->  Computing dependencies for p5-locale-gettext
--->  Configuring p5-locale-gettext
Error: Target org.macports.configure returned: configure failure: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-locale-gettext/work/gettext-1.05" && /opt/local/bin/perl Makefile.PL INSTALLDIRS=vendor " returned error 2
Command output: checking for gettext... no
checking for gettext in -I/opt/local/include -arch i386 -L/opt/local/lib -lintl...gettext function not found. Please install libintl at Makefile.PL line 18.
 no

Error: Unable to upgrade port: 1
Error: Unable to execute port: upgrade xorg-libXt failed
Before reporting a bug, first run the command again with the -d flag to get complete output.
tppllc-Mac-Pro:ImageMagick-sl swirsky$ 

Не желая провести еще два дня, выясняя, почему мой libintl не имеет функции "gettext", я попробовал другой маршрут: сценарий упоминается здесь: http://github.com/masterkain/ImageMagick-sl

Этот сценарий загружает и устанавливает ImageMagic независимо от проблем MacPorts

tppllc-Mac-Pro:ImageMagick-sl swirsky$ /usr/local/bin/convert
dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
  Referenced from: /opt/local/lib/libfontconfig.1.dylib
  Reason: Incompatible library version: libfontconfig.1.dylib requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
Trace/BPT trap

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

Таким образом, теперь я - два шага далеко от ImageMagick, пытаясь получить более новый libiconv на моей машине.

Я загрузил последний libiconv, скомпилированный, и создал его. Я поместил получающуюся библиотеку в/opt/local/lib, и я все еще получаю то же сообщение об ошибке:

tppllc-Mac-Pro:.libs swirsky$ sudo mv libiconv.2.dylib /opt/local/lib/libiconv.2.dylib
tppllc-Mac-Pro:.libs swirsky$ convert
dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
  Referenced from: /opt/local/lib/libfontconfig.1.dylib
  Reason: Incompatible library version: libfontconfig.1.dylib requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
Trace/BPT trap

Теперь вот что-то интересное. Сообщение об ошибке показывает, что смотрит в/opt/local/lib/libiconv.2.dylib.

otools-L показывает, что это действительно реализует 8.0.0:

tppllc-Mac-Pro:.libs swirsky$ otool -L /opt/local/lib/libiconv.2.dylib
/opt/local/lib/libiconv.2.dylib:
    /usr/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.0.0)
tppllc-Mac-Pro:.libs swirsky$ 

И в придачу я установил DYLD_LIBRARY_PATH, чтобы удостовериться, что этот каталог является тем для динамических библиотек.

Таким образом даже при том, что у меня действительно есть библиотека, которая обеспечивает 8.0.0, она рассматривается как 7.0.0! Какие-либо идеи, почему это произошло бы?

Таким образом, вот мой вопрос: действительно ли возможно заставить ImageMagick работать на Snow Leopard OSX? Есть ли любые двоичные дистрибутивы, которым испекли статические библиотеки в том, таким образом, я не должен волноваться о них, выпускают /

6
задан 23 March 2010 в 22:02
поделиться

4 ответа

Мой Google показал до нескольких обращений, и первый или второй имел ссылку на двоичный файл .

0
ответ дан 10 December 2019 в 02:45
поделиться

Я, наконец, смог получить достаточно согласованную установку "macports", чтобы установить и запустить imagemagick. Мне пришлось вручную удалить мои / opt / local / directores, в которых находились файлы, и очистить некоторые другие зависимости.

0
ответ дан 10 December 2019 в 02:45
поделиться

Похоже, что динамический компоновщик втягивает в систему libiconv.2.dylib (с версией совместимости 7.0.0). Не видя всего процесса сборки, трудно понять, почему это так, но я с подозрением отношусь к вашей сборке libiconv; обратите внимание, что в следующей ошибке:

tppllc-Mac-Pro:.libs swirsky$ otool -L /opt/local/lib/libiconv.2.dylib
/opt/local/lib/libiconv.2.dylib:
    /usr/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.0.0)

ваш libiconv.2.dylib , похоже, думает, что его путь установки - / usr / local / lib , а не / opt / локальный / lib . Вероятно, поэтому динамический компоновщик не находит его; он ищет его в / usr / local / lib , но не находит, и возвращается к системной библиотеке в / usr / lib . Попробуйте установить путь установки для libiconv.2.dylib , чтобы команды загрузки указывали компоновщику искать его в / opt / local / lib , и это может решить проблему. .

0
ответ дан 10 December 2019 в 02:45
поделиться

Я видел эту точную ошибку с этой конкретной библиотекой в ​​нескольких ситуациях. В каждом случае это был случай, когда либо человек, либо сценарий, который они использовали, устанавливали переменную DYLD_LIBRARY_PATH.

Убедитесь, что эта переменная не установлена, поскольку она заменяет загрузку явно связанных библиотек библиотеками по этому пути.

Если необходимо установить DYLD_ *, используйте более разумный DYLD_FALLBACK_LIBRARY_PATH. Которая сначала попытается загрузить явно связанные библиотеки, а затем откатиться к объявленным пользователем.

Я заметил, что в вашей первоначальной сборке не было библиотеки gettext в macports. Поэтому убедитесь, что они установлены.

1
ответ дан 10 December 2019 в 02:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: