Usar qualquer aplicativo php resulta em:
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
A maioria dos meus aplicativos php foram instalados usando homebrew com exceção do composer (instalado usando curl)
Tentei remover o libpng e reinstalar com o homebrew sem sucesso.
Em seguida, foi necessário mudar para a versão mais recente da libpng 1.5, conforme indicado na mensagem de erro:
$ 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
Agora o erro mudou para:
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
Estou executando o Mavericks (10.9.2) e o PHP 5.5.1.
Desde já, obrigado!
php
osx-mavericks
libpng
dyld
user3458861
fonte
fonte
Eu segui o acima (nunca é uma má ideia manter-se atualizado com o brew) e ainda tive exatamente o mesmo problema:
Então descobri uma maneira mais simples:
Pesquise por sua (s) versão (ões) libpng em sua caixa:
Faça um link simbólico:
Tente novamente:
1) Mac OS X equivalente a localizar
fonte
mdfind libpng15.15.dylib
não requer localizar hackÉ porque não há links simbólicos para libpng. Você precisa vincular libpng novamente.
E você pode obter algum erro. Corrigi esse erro corrigindo a permissão. Talvez seja por causa de macports desinstalados.
Crie o link novamente e funcionará.
fonte
brew link unixodbc
. Mas meu sistema era proprietário desse pacote específico.Resolvi isso copiando-o para o diretório ausente:
brew reinstalar libpng continuou instalando libpng16, não libpng15, então fui forçado a fazer o acima.
fonte
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
No meu caso foi
libjpeg
. Tudo que eu tive que fazer foi correrbrew reinstall libjpeg
e tudo funcionou!fonte
libpng
.brew reinstall libpng
resolveuNo caso de outra pessoa ter esse problema, resolvi da seguinte maneira
Isso causou um erro com outros pacotes que requerem 1.5 com o qual foram construídos, então eu vinculei:
Agora ambos vivem em harmonia e lado a lado nas diferentes embalagens. Seria melhor reconstruir os pacotes que dependem do 1.5, mas isso funciona como uma correção rápida do curativo.
fonte
Eu sei que essa questão já tem uma resposta que dá uma solução. Mas quero dar a vocês meus dois centavos para ajudar as pessoas a entender o problema. Obtendo o mesmo problema, criei uma pergunta específica . Eu tenho o mesmo problema, mas apenas com o PHPStorm. E exatamente quando tento executar o teste do editor.
dyld é o vinculador dinâmico
Eu semeava que o dyld estava procurando por /usr/local/lib/libpng15.15.dylib, mas dentro de meu / usr / local / lib / não havia. Nessa pasta, obtive libpng16.16.dylib.
Graças a um comentário, eu entendo que meu / usr / bin / php era um indicador para o php 5.5.8. Em vez disso, ... / usr / local / bin / php era 5.5.14. PHPStorm funcionou com / usr / bin / php que é a configuração padrão. Quando executo o php via console, executo / urs / local / bin / php.
Então, ... Se você receber algum erro dyld, talvez você tenha alguma configuração de php errada. Essa é a razão porque
Mas não sei por que isso não resolve o problema para mim. Talvez porque eu tenho
fonte
Eu também tive esse problema, e nenhuma das soluções neste tópico funcionou para mim. Acontece que o problema era que eu tinha essa linha em
~/.bash_profile
:E, ao que parece,
/usr/local/php
era apenas um link simbólico para/usr/local/Cellar/php54/5.4.24/
. Então, quando invoqueiphp -i
, ainda estava invocando php54. Acabei de deletar essa linha do meu perfil do bash e o php funcionou.Por alguma razão, embora o php55 agora estivesse em execução, o
php.ini
arquivo do php54 ainda estava carregado e eu recebia este aviso sempre que invocava o php:Para corrigir isso, acabei de adicionar a seguinte linha ao meu perfil bash:
E então tudo funcionou normalmente!
fonte
Tive esse erro que não foi resolvido pelo
brew update && brew upgrade
. Por algum motivo, precisei instalá-lo do zero:$ brew install libpng
fonte
Tive muita dificuldade com este erro:
Eu fiz todas as coisas acima com cerveja e muito mais ... mas não foi isso!
Verifique onde está sua biblioteca:
No meu caso, aqui estava o resultado relevante:
Então, como sou um usuário MAMP, descobri que o erro apareceu enquanto eu tentava atualizar do PHP 7.1.0 para 7.1.8 ( último MAMP php disponível ), pois Symfony4 requer pelo menos 7.1.3
No final instalei a nova versão do MAMP e funcionou (4.1 a 4.2). No entanto, seja cuidadoso ao fazer isso, você precisa primeiro fazer backup de tudo em sua pasta MAMP / htdoc. Além disso, mantenha um backup de sua versão de php compilada personalizada que pode estar em MAMP / bin / php. (No meu caso, eu tinha uma versão especial do PHP com drivers Oracle).
Além disso, se você configurou a versão MAMP php para ser seu interpretador CLI php, você precisará atualizar o PATH em seu .bash_profile
Deve ser parecido com isto:
Espero que isso possa ajudar.
fonte
Tive este problema depois de atualizar o MAMP, e o $ PATH personalizado que eu defini estava errado por causa da nova versão do php, então a versão errada do php foi carregada primeiro, e foi essa versão do php que disparou o erro.
Atualizar o caminho em meu .bash_profile corrigiu meu problema.
fonte