dyld: библиотека не загружена:/usr/local/lib / libjpeg.8.dylib-доморощенный php



PHP не работал для меня, поскольку я столкнулся с этой проблемой libpng, поэтому я переустановил новую версию с Homebrew.



однако, я получаю аналогичную ошибку с libjpeg на этот раз:



$ php -v
dyld: Library not loaded: /usr/local/lib/libjpeg.8.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
Trace/BPT trap: 5


какие предложения?

556   14  

14 ответов:

как предложено @jirson-tavera в homebrew-php repo issue, это может быть исправлено без переопределения установки brew:

wget -c http://www.ijg.org/files/jpegsrc.v8d.tar.gz
tar xzf jpegsrc.v8d.tar.gz
cd jpeg-8d
./configure
make
cp ./.libs/libjpeg.8.dylib /usr/local/opt/jpeg/lib

несмотря на то, что решение в принятом ответе работает, это не правильный способ решить проблему. Это нарушает целостность метаданных brew.

Я сегодня столкнулся с подобной проблемой. Причиной проблемы стала более новая версия libjpeg. И решение, которое работало, строилось php бутылки из источника.

Проверьте доступную версию libjpeg:

$brew info libjpeg
jpeg: stable 9b (bottled)
Image manipulation library
http://www.ijg.org
/usr/local/Cellar/jpeg/9b (20 files, 724KB) *
  Poured from bottle on 2017-08-07 at 12:06:42
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/jpeg.rb

установить php из источника:

brew install --build-from-source php56

обновление:
Если вы уже установили php вы должны удалить его до создания из исходного кода. Это также относится к расширениям.

У меня была та же проблема, и я решил ее, загрузив libjpeg tarball manuallu из здесь и работает:

tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .
./configure --enable-shared --enable-static
make
sudo make install

sudo ranlib /usr/local/lib/libjpeg.a #Optionally

я получал аналогичную проблему, пытаясь обновить composer:

сотового оператора: библиотека не загружается: /usr/местные/опт/формате JPEG/библиотека lib/libjpeg.8.dylib нужна
Ссылка из: / usr / local/bin / php
Причина: изображение не найдено
композитор: для этой формулы требуется поддержка PHP Phar
Ошибка: неудовлетворенное требование не удалось выполнить эту сборку.

Я не пытался ответить Джирсону, но то, что сработало для меня, было:

brew uninstall libjpeg
brew install libjpeg

следующая команда работала на меня.

brew switch libjpeg 8d

у меня была такая же проблема, и единственное, что помогло использовать :

brew install php70 --build-from-source

Я разделяю это, как у меня была та же проблема при использовании PHP5.4. Первоначально у меня был PHP5.6, и он работал нормально. Затем я понизил рейтинг до php5.4, поскольку мое приложение поддерживает только PHP5.4.

затем возникла эта ошибка. Я заметил, что у меня libjpeg.9.dylib и PHP5. 4 ищет libjpeg.8.dylib.

выполнение следующих отсортированных вопрос:

brew uninstall php54
brew install --build-from-source php54

у меня тоже эта проблема. Я решил это таким образом: Удалить jpeg / 8b:

brew uninstall --ignore-dependencies libjpeg

удалить jpeg / 9b:

brew uninstall --ignore-dependencies jpeg

Uninstall jpeg/8b and 9b

повторно установить jpeg / 9b

brew install jpeg

Re-install jpeg/9b

Homebrew php был обновлен и больше не проблема с libjpeg

как отмечает @lifecom, это исправлено с обновлением php70 homebrew, но вы все равно можете столкнуться с проблемой, если brew upgrade пытается обновить другие пакеты перед обновлением php70.

исправьте это, вручную обновив php70 сначала с помощью brew upgrade php70 и вы тогда должны быть в состоянии запустить brew upgrade нет проблем (или, по крайней мере, без этой проблема).

brew switch libjpeg 8d

Valet-mac с php7. 1

грязное решение, которое отлично работает для меня.

ln -s /usr/local/lib/libjpeg.9.dylib /usr/local/lib/libjpeg.8.dylib

Comments

    Ничего не найдено.