L'utilisation de n'importe quelle application php entraîne:
dyld: Library not loaded: /usr/local/lib/libpng15.15.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
[1] 4494 trace trap php
La plupart de mes applications php ont été installées en utilisant homebrew à l'exception de composer (installé en utilisant curl)
J'ai essayé de supprimer le libpng et de réinstaller avec homebrew en vain.
Ensuite, il fallait passer à la dernière version de libpng 1.5 comme indiqué dans le message d'erreur:
$ brew info libpng
libpng: stable 1.6.10 (bottled)
http://www.libpng.org/pub/png/libpng.html
/usr/local/Cellar/libpng/1.5.17 (15 files, 1.0M)
Poured from bottle
/usr/local/Cellar/libpng/1.5.18 (15 files, 1.0M)
Poured from bottle
/usr/local/Cellar/libpng/1.6.10 (17 files, 1.3M) *
$ brew switch libpng 1.5.18
Cleaning /usr/local/Cellar/libpng/1.5.17
Cleaning /usr/local/Cellar/libpng/1.5.18
Cleaning /usr/local/Cellar/libpng/1.6.10
16 links created for /usr/local/Cellar/libpng/1.5.18
Maintenant, l'erreur est devenue:
dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib
Referenced from: /usr/local/lib/libfreetype.6.dylib
Reason: image not found
[1] 6993 trace trap phpunit
Im exécutant Mavericks (10.9.2) et PHP 5.5.1.
Merci d'avance!
php
osx-mavericks
libpng
dyld
user3458861
la source
la source
J'ai suivi ce qui précède (ce n'est jamais une mauvaise idée de rester à jour avec Brew de toute façon) et j'ai toujours le même problème exact:
Ensuite, j'ai trouvé un moyen plus simple:
Recherchez votre (vos) version (s) de libpng sur votre box:
Créez un lien symbolique:
Réessayer:
1) équivalent Mac OS X de Locate
la source
mdfind libpng15.15.dylib
ne nécessite pas de hack de localisationC'est parce qu'il n'y a pas de liens symboliques pour libpng. Vous devez à nouveau lier libpng.
Et vous pouvez obtenir une erreur. J'ai corrigé cette erreur en corrigeant l'autorisation. C'est peut-être à cause de macports désinstallés.
Créez à nouveau le lien et cela fonctionnera.
la source
brew link unixodbc
. Mais mon système était propriétaire de ce package particulier.J'ai résolu ce problème en le copiant dans le répertoire manquant:
brew reinstall libpng a continué d'installer libpng16, pas libpng15, donc j'ai été obligé de faire ce qui précède.
la source
Warning: Unbrewed dylibs were found in /usr/local/lib. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted. Unexpected dylibs: /usr/local/lib/libpng15.15.dylib
Dans mon cas, c'était le cas
libjpeg
. Tout ce que j'avais à faire était de courirbrew reinstall libjpeg
et tout fonctionnait!la source
libpng
.brew reinstall libpng
résoluJuste au cas où quelqu'un d'autre rencontrerait ce problème, je l'ai résolu par ce qui suit
Cela a causé une erreur avec d'autres packages nécessitant la version 1.5 avec laquelle ils ont été construits, alors je l'ai lié:
Maintenant, ils vivent tous les deux en harmonie et côte à côte pour les différents forfaits. Il serait préférable de reconstruire les paquets qui dépendent de 1.5, mais cela fonctionne comme une solution rapide de bandage.
la source
Je sais que cette question a déjà une réponse qui donne une solution. Mais je veux vous donner mes deux cents pour aider les gens à comprendre le problème. Obtenir le même problème, j'ai créé une question spécifique . J'ai le même problème, mais uniquement avec PHPStorm. Et exactement quand j'essaye d'exécuter le test de l'éditeur.
dyld est l'éditeur de liens dynamique
Je sème que dyld cherchait /usr/local/lib/libpng15.15.dylib mais dans mon / usr / local / lib / il n'y en avait pas. Dans ce dossier, j'ai obtenu libpng16.16.dylib.
Grâce à un commentaire, je comprends que mon / usr / bin / php était un pointeur vers php 5.5.8. Au lieu de cela, ... / usr / local / bin / php était 5.5.14. PHPStorm a fonctionné avec / usr / bin / php qui est la configuration par défaut. Lorsque j'exécute php via la console, j'exécute / urs / local / bin / php.
Donc, ... Si vous obtenez une erreur dyld, peut-être que vous avez une mauvaise configuration php. C'est la raison parce que
Mais je ne sais pas pourquoi cela ne résout pas le problème pour moi. Peut-être parce que j'ai
la source
J'ai également eu ce problème, et aucune des solutions de ce fil n'a fonctionné pour moi. En fait, le problème était que j'avais cette ligne dans
~/.bash_profile
:Et, en fin de compte,
/usr/local/php
n'était qu'un lien symbolique vers/usr/local/Cellar/php54/5.4.24/
. Alors quand j'ai invoquéphp -i
j'appelais toujours php54. Je viens de supprimer cette ligne de mon profil bash, puis php a fonctionné.Pour une raison quelconque, même si php55 était maintenant en cours d'exécution, le
php.ini
fichier de php54 était toujours chargé, et j'ai reçu cet avertissement à chaque fois que j'appelais php:Pour résoudre ce problème, je viens d'ajouter la ligne suivante à mon profil bash:
Et puis tout a fonctionné comme d'habitude!
la source
J'ai eu cette erreur qui n'a pas été résolue par
brew update && brew upgrade
. Pour une raison quelconque, j'avais besoin de l'installer à partir de zéro:$ brew install libpng
la source
J'ai eu beaucoup de mal avec cette erreur:
J'ai fait toutes les choses ci-dessus avec de la bière et bien plus encore ... mais ce n'était pas ça!
Vérifiez où se trouve votre bibliothèque:
Dans mon cas, voici le résultat pertinent:
Donc, comme je suis un utilisateur MAMP, il s'avère que l'erreur est apparue pendant que j'essayais de mettre à jour de PHP 7.1.0 à 7.1.8 ( dernier php MAMP disponible ) car Symfony4 nécessite au moins 7.1.3
À la fin, j'ai installé la nouvelle version de MAMP et cela a fonctionné (4.1 à 4.2). Cependant, soyez prudent lorsque vous faites cela, vous devez d'abord sauvegarder tout ce qui se trouve dans votre dossier MAMP / htdoc. Gardez également une sauvegarde de votre version php compilée personnalisée qui peut vivre dans MAMP / bin / php. (Dans mon cas, j'avais une version PHP spéciale avec des pilotes Oracle).
De plus, si vous avez configuré la version php de MAMP pour être votre interpréteur php CLI, vous devrez mettre à jour le PATH dans votre .bash_profile
Ça devrait ressembler a quelque chose comme ca :
J'espère que cela peut aider.
la source
J'ai eu ce problème après la mise à jour de MAMP, et le $ PATH personnalisé que j'avais défini était erroné à cause de la nouvelle version de php, donc la mauvaise version de php a été chargée en premier, et c'est cette version de php qui a déclenché l'erreur.
La mise à jour du chemin dans mon .bash_profile a résolu mon problème.
la source