Conflito de biblioteca no Mac OS X

0

Eu estava tentando instalar a biblioteca do ImageMagick no Mac OS X Snow Leopard, e primeiro tentei port e, após falhar, homebrew . Ele atualizou algumas dependências e instalou o ImageMagick sem problemas.

Até aí tudo bem. O problema veio quando eu corri o Apache. Eu recebi o seguinte erro no log do sistema:

07/04/11 12:55:15   org.apache.httpd[41841] httpd: Syntax error on line 115 of /private/etc/apache2/httpd.conf: Cannot load /opt/local/apache2/modules/libphp5.so into server: dlopen(/opt/local/apache2/modules/libphp5.so, 10): Library not loaded: /opt/local/lib/libpng12.0.dylib\n  Referenced from: /opt/local/apache2/modules/libphp5.so\n  Reason: image not found

Eu verifiquei o / opt / local / lib e surpresa! Eu não tenho o libpng12.0 mas o libpng14.0.

Então, até onde eu sei, algo deu errado ao instalar a biblioteca do ImageMagick.

Agora, não consigo encontrar uma maneira de reverter para as bibliotecas anteriores, além de copiá-las do backup. Você sabe se existe uma maneira de recuperar o estado anterior ou reinstalar o Apache? Ou isso é apenas um estado corrompido e devo reinstalar o OS X?

    
por Juan Medín 07.04.2011 / 08:03

1 resposta

1

(Adaptado do meu comentário, uma vez que parecia ajudar a perguntar.)

O erro menciona alguns arquivos MacPorts, mas nada do Homebrew e nada sobre o ImageMagick.

Sua configuração do Apache 2 está tentando carregar o módulo PHP 5 construído em MacPorts. O problema é que o módulo foi originalmente construído contra uma versão antiga do libpng (também no MacPorts). A nova versão do libpng provavelmente veio de sua tentativa abortada de instalar o ImageMagick através do MacPorts (libpng é uma dependência do ImageMagic e, aparentemente, também uma dependência do módulo PHP 5).

Se você quiser fazer a transição para o Homebrew (longe do MacPorts), provavelmente irá querer construir o módulo PHP 5 Apache 2 através do Homebrew e atualizar sua configuração do Apache 2 para usar esse módulo ao invés do MacPorts. Você também pode querer desinstalar o MacPorts se você não estiver usando-o para mais nada.

Como alternativa, se você quiser apenas que as coisas funcionem novamente, você pode tentar atualizar o módulo PHP 5 no MacPorts. sudo port upgrade php5 provavelmente fará o truque.

    
por 08.04.2011 / 04:38