ImageMagick и OS X Проблемы с львом

[edit] Я искал проблемы с моей средой разработки, когда заметил, что одна из моих проблем связана с зависимостью от ImageMagick, поскольку это жизненно важная часть моего приложения.


После обновления до OS X Lion (10.7) у меня больше не было доступного ImageMagick, я попытался снова установить его с помощью MacPorts, после чего я установил его из источника, и установка была не очень успешной, я преобразовал и идентифицировал, но выводить сообщения об ошибках, которых я, к сожалению, больше не имею, по какой-то странной причине решил удалить все мои библиотеки MacPort и начал использовать Homebrew, я попытался установить ImageMagick, он установил OK, но когда я пытаюсь его использовать, это вызывает эту ошибку.

dyld: Library not loaded: /opt/local/lib/libltdl.7.dylib
  Referenced from: /usr/local/bin/convert
  Reason: Incompatible library version: convert requires version 11.0.0 or later, but libltdl.7.dylib provides version 10.0.0
Trace/BPT trap: 5

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

Я попытался снова установить ImageMagick из источника, используя этот установщик script https://github.com/masterkain/ImageMagick-sl, но когда я пытаюсь использовать его, он вызывает подобную ошибку.

$ convert gnome.jpg -resize 50% gnome_.jpg
dyld: Library not loaded: /opt/local/lib/libltdl.7.dylib
  Referenced from: /usr/local/bin/convert
  Reason: Incompatible library version: convert requires version 11.0.0 or later, but libltdl.7.dylib provides version 10.0.0
Trace/BPT trap: 5

$ which convert
/usr/local/bin/convert

Что я могу сделать, чтобы решить мою проблему?

Ответ 1

Я также обновился до Lion и потерял ImageMagick, хотя у меня разные ошибки.

я нашел Lion distribution на imagemagick.org. не большой поклонник переменной среды DYLD_LIBRARY_PATH, но она работает.

ok царапины это. я только что загрузил источник ImageMagick и перекомпилировал:

cd /tmp
curl -OL ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar -xzf ImageMagick.tar.gz
cd ImageMagick-6.7.2-7/
./configure --prefix=/usr/local --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp --with-gs-font-dir=/usr/local/share/ghostscript/fonts
make
sudo make install

Ответ 2

В 10.8 я решил эту проблему:

brew install libtool --universal
brew link libtool

Если вы не знаете, что такое brew, посетите https://github.com/mxcl/homebrew и его вики.

Ответ 3

brew uninstall imagemagick
brew install imagemagick --build-from-source

работал у меня

Ответ 4

Я тоже использую homebrew для установки пакетов, но imagemagick перестает работать после обновления OSX 10.8 до 10.9 (Mavericks). Мне нужно было сделать следующие шаги:

brew uninstall imagemagick
brew uninstall libtool
brew install libtool --universal
brew install imagemagick --build-from-source

Почему --build-from-source? Ну, для меня запустить brew install imagemagick самостоятельно для установки предварительно построенного двоичного файла было недостаточно; он исправил исходную ошибку "dyln", но был заменен на:

unable to load module `/usr/local/Cellar/imagemagick/6.8.7-7/lib/ImageMagick//modules-Q16/coders/png.la': file not found @ error/module.c/OpenModule/1277

Ответ 5

На Mountain Lion OSX,

Даже с обновленным brew для imagemagick (включая libtool) эта ошибка, похоже, со мной.

поэтому я исправил его, используя следующие команды

brew uninstall libtool
brew install libtool --universal
brew link libtool --force

Ответ 7

В 10.8, с brew, я решил эту проблему с помощью:

brew install graphicsmagick

Для гуглеров: если вы предварительно установили его с помощью brew, вам нужно будет переустановить, запустив brew uninstall graphicsmagick перед установкой снова. Легко.

Ответ 8

Это помогло мне после восстановления OS X 10.9.3 с машины времени.

brew uninstall imagemagick
brew uninstall libtool
brew install libtool --universal
brew unlink libtool && brew link libtool
brew install imagemagick
brew install Homebrew/python/pillow
brew link --overwrite pillow

Ответ 9

Такая же проблема может возникнуть с OSX Mountain Lion (предварительный просмотр 4). Мне пришлось настроить некоторые части отдельно, потому что есть некоторая несовместимость библиотек:

dyld: Library not loaded: /usr/local/lib/libjpeg.8.dylib
  Referenced from: /usr/local/bin/convert
  Reason: Incompatible library version: convert requires version 13.0.0 or later, but libjpeg.8.dylib provides version 9.0.0

Мне пришлось добавить --with-fontconfig=no, --with-lzma=no и использовать /opt/local/share/... вместо /usr/local/share/... для шрифтов ghostscript:

cd /tmp
curl -OL ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar -xzf ImageMagick.tar.gz
cd ImageMagick-6.7.8-0/
./configure --prefix=/usr/local --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp --with-fontconfig=no --with-gs-font-dir=/opt/local/share/ghostscript/fonts --with-lzma=no
make
sudo make install

Ответ 10

Я мог бы исправить проблему ImageMagick, установив соответствующий пакет из сайта cactuslab.

Затем, установив переменные PATH в терминал:

export MAGICK_HOME="/usr/local/ImageMagick/"
export PATH="$MAGICK_HOME/bin:$PATH"
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib/"

Ответ 11

Если вы используете Homebrew, попробуйте выполнить следующую команду:

brew doctor

для диагностики распространенных проблем.

Одним из них может быть удаление переменной DYLD_FALLBACK_LIBRARY_PATH из вашего ~/.profile, если она у вас есть.

Или вам нужно переустановить libtool:

brew reinstall libtool --universal && brew unlink libtool && brew link libtool

Ответ 12

Я попробовал большинство решений выше, и они не работали. Вот как я исправил свою проблему:

brew install imagemagick;
brew install freetype;
cd /usr/X11/lib/;    
sudo mv libfreetype.6.dylib libfreetype.6.dylib.orig;
sudo ln -s /usr/local/opt/freetype/lib/libfreetype.6.dylib libfreetype.6.dylib

Протестировано на OS X 10.7.2

Ответ 13

Для 10.7.8 и выше вам нужно установить версию php, а не версию pecl. В зависимости от вашей версии php, которую вы устанавливаете с помощью Macports, вы можете:

sudo port install php-imagick

sudo port install php5-imagick

sudo port install php53-imagick

sudo port install php54-imagick

Помните только, чтобы сделать одну из ваших текущих версий php.