123 votes

dyld : bibliothèque non chargé : /usr/local/lib/libpng16.16.dylib avec quoi que ce soit php liée

À l'aide de n'importe quelle application php résultats:

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és à l'aide de homebrew, à l'exception de compositeur (installé à l'aide de curl)

J'ai essayé de supprimer les de la libpng et de réinstaller avec homebrew en vain.

Suivante a été de 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 que l'erreur a changé:

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 l'exécution de Mavericks (10.9.2) et PHP 5.5.1.

Merci à l'avance!

159voto

Pera Jovic Points 636

Je suggère que vous exécutez :

Jusqu'à deux minutes il y a, j’ai eu ce problème, trop. Parce que j’ai une version à jour de PHP, je l’ai résolu avec :

Espoir qui aide.

43voto

phpguru Points 420

J'ai suivi le ci-dessus (jamais une mauvaise idée de garder à jour avec brew de toute façon) et encore eu exactement le même problème:

LAPTOP:folder Username$ php -v
dyld: Library not loaded: /usr/local/lib/libpng15.15.dylib
  Referenced from: /usr/local/bin/php
  Reason: image not found
Trace/BPT trap: 5

Alors trouvé un moyen plus simple:

Recherche pour vos libpng version(s) sur votre zone:

# Requires locate & updatedb for mac os x
# See Link [1] 
LAPTOP:folder Username$ locate libpng15.15.dylib
/Applications/GIMP.app/Contents/Resources/lib/libpng15.15.dylib
/usr/X11/lib/libpng15.15.dylib
/usr/local/Cellar/libpng/1.5.14/lib/libpng15.15.dylib

Faites un lien symbolique:

LAPTOP:folder Username$ ln -s /usr/local/Cellar/libpng/1.5.14/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib

Essayez à nouveau:

LAPTOP:folder Username$ php -v
PHP 5.3.26 (cli) (built: Aug 25 2013 16:07:23) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

1) Mac OS X équivalent de localiser

20voto

Jonghee Park Points 161

C’est parce qu’il n’y a aucun liens symboliques pour libpng. Vous devez lier à nouveau les libpng.

Et vous pouvez obtenir une erreur. J’ai corrigé cette erreur en corrigeant la permission. Peut-être il a raison de désinstallé macports.

Recréer le lien et ça va marcher.

11voto

user391339 Points 612

J’ai résolu ceci en le copiant dans le répertoire manquant :

infusion de réinstaller libpng gardé installation libpng16, pas libpng15 donc j’ai été obligé de faire ce qui précède.

3voto

sensorario Points 1345

Je sais que cette question a déjà une réponse qui donne une solution. Mais je veux vous donner mon grain de sel pour aider les gens à comprendre le problème. Se même problème, j'ai créé une question spécifique. J'ai eu le même problème, mais seulement avec PHPStorm. Et exactement quand j'essaie de lancer le test de l'éditeur.

dyld est l'éditeur de liens dynamique

Je edt dyld était à la recherche pour /usr/local/lib/libpng15.15.dylib, mais à l'intérieur de mon /usr/local/lib/ il n'y était pas. Dans ce dossier, j'ai eu libpng16.16.dylib.

Grâce à un commentaire, je comprendre que mon /usr/bin/php est un pointeur vers php 5.5.8. Au lieu de cela, ... /usr/local/bin/php a été 5.5.14. PHPStorm travaillé avec /usr/bin/php qui est la configuration par défaut. Lorsque j'exécute le php via la console, je lance /urs/local/bin/php.

Donc ... Si vous obtenez quelque dyld erreur, peut-être que vous avez une mauvaise configuration de php. C'est la raison

$ brew update && brew upgrade
$ brew reinstall php55

Mais je ne sais pas pourquoi cela ne résout pas le problème pour moi. Peut-être parce que j'ai

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X