El uso de cualquier aplicación php da como resultado:
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 mayoría de mis aplicaciones php se instalaron usando homebrew con la excepción de composer (instalado usando curl)
Intenté eliminar el libpng y reinstalarlo con homebrew sin éxito.
Lo siguiente fue cambiar a la última versión de libpng 1.5 como se indica en el mensaje de error:
$ 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
Ahora el error ha cambiado a:
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
Estoy ejecutando Mavericks (10.9.2) y PHP 5.5.1.
¡Gracias por adelantado!
php
osx-mavericks
libpng
dyld
user3458861
fuente
fuente
Seguí lo anterior (nunca es una mala idea estar al día con la cerveza de todos modos) y todavía tenía exactamente el mismo problema:
Luego descubrí una forma más simple:
Busque su (s) versión (s) libpng en su caja:
Haz un enlace simbólico:
Inténtalo de nuevo:
1) Mac OS X equivalente a localizar
fuente
mdfind libpng15.15.dylib
no requiere localizar hackEs porque no hay enlaces simbólicos para libpng. Debes vincular libpng nuevamente.
Y puede obtener algún error. Arreglé ese error corrigiendo el permiso. Tal vez sea por macports desinstalados.
Vuelva a crear el enlace y funcionará.
fuente
brew link unixodbc
. Pero mi sistema tenía la propiedad de ese paquete en particular.Resolví esto copiándolo en el directorio que faltaba:
brew reinstall libpng siguió instalando libpng16, no libpng15, así que me vi obligado a hacer lo anterior.
fuente
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
En mi caso lo fue
libjpeg
. ¡Todo lo que tenía que hacer era correrbrew reinstall libjpeg
y todo funcionó!fuente
libpng
.brew reinstall libpng
resueltoEn caso de que alguien más se encuentre con este problema, lo resolví de la siguiente manera
Esto causó un error con otros paquetes que requerían 1.5 con los que fueron construidos, así que lo vinculé:
Ahora ambos viven en armonía y uno al lado del otro para los diferentes paquetes. Sería mejor reconstruir los paquetes que dependen de 1.5, pero esto funciona como una solución rápida.
fuente
Sé que esta pregunta ya tiene una respuesta que da solución. Pero quiero darle mi granito de arena para ayudar a la gente a comprender el problema. Obteniendo el mismo problema, he creado una pregunta específica . Tengo el mismo problema, pero solo con PHPStorm. Y exactamente cuando trato de ejecutar la prueba desde el editor.
dyld es el enlazador dinámico
Siembro que dyld estaba buscando /usr/local/lib/libpng15.15.dylib pero dentro de mi / usr / local / lib / no lo había. En esa carpeta, obtuve libpng16.16.dylib.
Gracias a un comentario, entiendo que mi / usr / bin / php era un puntero a php 5.5.8. En cambio, ... / usr / local / bin / php era 5.5.14. PHPStorm trabajó con / usr / bin / php que es la configuración predeterminada. Cuando ejecuto php a través de la consola, ejecuto / urs / local / bin / php.
Entonces, ... Si obtiene algún error de dyld, tal vez tenga una configuración de php incorrecta. Esa es la razón porque
Pero no sé por qué esto no me resuelve el problema. Tal vez porque tengo
fuente
También tuve este problema, y ninguna de las soluciones en este hilo funcionó para mí. Resulta que el problema era que tenía esta línea en
~/.bash_profile
:Y resultó que
/usr/local/php
era solo un enlace simbólico a/usr/local/Cellar/php54/5.4.24/
. Entonces, cuandophp -i
invoqué, todavía estaba invocando php54. Acabo de eliminar esta línea de mi perfil de bash y luego php funcionó.Por alguna razón, aunque php55 ahora se estaba ejecutando, el
php.ini
archivo de php54 todavía estaba cargado y recibí esta advertencia cada vez que invoqué php:Para solucionar esto, acabo de agregar la siguiente línea a mi perfil de bash:
¡Y luego todo funcionó con normalidad!
fuente
Tuve este error que no fue resuelto por
brew update && brew upgrade
. Por alguna razón, necesitaba instalarlo desde cero:$ brew install libpng
fuente
Lo pasé muy mal con este error:
Hice todas las cosas anteriores con brebaje y mucho más ... ¡pero no fue esto!
Compruebe dónde está su biblioteca:
En mi caso, aquí estaba el resultado relevante:
Entonces, como soy un usuario de MAMP, resultó que el error apareció mientras intentaba actualizar de PHP 7.1.0 a 7.1.8 (el último php de MAMP disponible ) ya que Symfony4 requiere al menos 7.1.3
Al final instalé la nueva versión de MAMP y funcionó (4.1 a 4.2). Sin embargo, tenga cuidado cuando haga esto, primero debe hacer una copia de seguridad de todo en su carpeta MAMP / htdoc. También mantenga una copia de seguridad de su versión de php compilada personalizada que puede vivir en MAMP / bin / php. (En mi caso tenía una versión especial de PHP con controladores de Oracle).
Además, si configuró la versión de php de MAMP para que sea su intérprete de php CLI, deberá actualizar la PATH en su .bash_profile
Debería verse algo como esto:
Espero que esto pueda ayudar.
fuente
Tuve este problema después de actualizar MAMP, y el $ PATH personalizado que había configurado era incorrecto debido a la nueva versión de php, por lo que se cargó primero la versión incorrecta de php, y fue esa versión de php la que desencadenó el error.
Actualizar la ruta en mi .bash_profile solucionó mi problema.
fuente