php osx-mavericks libpng dyld

dyld: Biblioteca no cargada:/usr/local/lib/libpng16.16.dylib con cualquier cosa relacionada con php



osx-mavericks (11)

El uso de cualquier aplicación de 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 fueron instaladas usando homebrew con la excepción de composer (instalado usando curl)

Traté de eliminar el libpng y volver a instalar con homebrew en vano.

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!


En mi caso, fue libjpeg . Todo lo que tuve que hacer fue ejecutar brew reinstall libjpeg y ¡todo funcionó!


Es porque no hay enlaces simbólicos para libpng. Necesitas vincular libpng nuevamente.

brew unlink libpng && brew link libpng

Y puede obtener algún error. Solucioné ese error corrigiendo el permiso. Tal vez se deba a macports desinstalados.

sudo chown -R yourid:staff /usr/local/share/man/

Crea un enlace de nuevo y funcionará.


Lo resolví copiándolo en el directorio que faltaba:

cp /opt/X11/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib

brew reinstall libpng siguió instalando libpng16, no libpng15, así que me obligaron a hacer lo anterior.


Obtuve 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 la versión incorrecta de php se cargó primero, y fue esa versión de php la que desencadenó el error.

La actualización de la ruta en mi .bash_profile solucionó mi problema.


Sé que esta pregunta ya tiene una respuesta que da una solución. Pero quiero darle mi granito de arena para ayudar a las personas 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

Siembre que Dyld estaba buscando /usr/local/lib/libpng15.15.dylib pero dentro de mi / usr / local / lib / no 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 obtienes algún error Dyld, tal vez tengas una configuración de php incorrecta. Esa es la razón porque

$ brew update && brew upgrade $ brew reinstall php55

Pero no sé por qué esto no me resuelve el problema. Tal vez porque tengo


Seguí lo anterior (nunca una mala idea para estar al día con la cerveza de todos modos) y todavía tenía el mismo problema exacto:

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

Entonces descubrió una forma más simple:

Busque su (s) versión (s) libpng en su caja:

# 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

Haz un enlace simbólico:

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

Inténtalo de nuevo:

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 equivalente de localizar


Solo en caso de que alguien más se encuentre con este problema lo resolví con lo siguiente

brew update && brew upgrade # installs libpng 1.6

Esto causó un error con otros paquetes que requieren 1.5 con los que se crearon, así que lo vinculé:

cd /usr/local/lib/ ln -s ../Cellar/libpng/1.5.18/lib/libpng15.15.dylib

Ahora ambos viven en armonía y al lado de los diferentes paquetes. Sería mejor reconstruir los paquetes que dependen de 1.5, pero esto funciona como una solución rápida de vendaje.


También tuve este problema, y ​​ninguna de las soluciones en este hilo funcionó para mí. Resultó que el problema era que tenía esta línea en ~/.bash_profile :

alias php="/usr/local/php/bin/php"

Y, como resulta, /usr/local/php era solo un enlace simbólico a /usr/local/Cellar/php54/5.4.24/ . Entonces, cuando invoqué php -i todavía estaba invocando php54. Acabo de eliminar esta línea de mi perfil bash, y luego php funcionó.

Por alguna razón, aunque php55 se estaba ejecutando, el archivo php.ini de php54 todavía estaba cargado, y recibí esta advertencia cada vez que invocaba php:

PHP Warning: PHP Startup: Unable to load dynamic library ''/usr/local/Cellar/php54/5.4.38/lib/php/extensions/no-debug-non-zts-20100525/memcached.so'' - dlopen(/usr/local/Cellar/php54/5.4.38/lib/php/extensions/no-debug-non-zts-20100525/memcached.so, 9): image not found in Unknown on line 0

Para solucionar esto, acabo de agregar la siguiente línea a mi perfil de bash:

export PHPRC=/usr/local/etc/php/5.5/php.ini

¡Y luego todo funcionó de manera normal!


Te sugiero que corras:

$ brew update && brew upgrade

Hasta hace unos minutos tuve este problema también. Como tengo una versión actualizada de PHP, la resolví con:

$ brew reinstall php55

Espero que ayude.


Tuve este error que no fue resuelto por la brew update && brew upgrade . Por alguna razón, necesitaba instalarlo desde cero:

$ brew install libpng


Tuve mucha dificultad con este error:

Motivo: Versión de biblioteca incompatible: php requiere la versión 44.0.0 o posterior, pero libpng16.16.dylib proporciona la versión 42.0.0 Trace / BPT trap: 6

Hice todas las cosas anteriores con cerveza y mucho más ... ¡pero no fue esto!

Comprueba dónde está tu biblioteca:

sudo find / -name libpng16.16.dylib

En mi caso aquí fue el resultado relevante:

  • /usr/local/lib/libpng16.16.dylib
  • /usr/local/Cellar/libpng/1.6.34/lib/libpng16.16.dylib
  • /Aplicaciones/MAMP/Library/lib/libpng16.16.dylib
  • /opt/X11/lib/libpng16.16.dylib

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 en cuenta que 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 compilada de PHP personalizada que pueda vivir en MAMP / bin / php. (En mi caso, tuve una versión especial de PHP con controladores de Oracle).

Además, si configuró la versión php de MAMP para que sea su intérprete php CLI, deberá actualizar la RUTA en su perfil .bash

Debería verse algo como esto:

ruta de exportación = / Aplicaciones / MAMP / bin / php / php7.1.8 / bin: $ PATH

Espero que esto pueda ayudar.