Estou tentando instalar a extensão expect pecl.
Versão do SO = 10.7.3
PHP versão 5.3.10 instalada via macports
espera a versão 5.45 instalada via macports
O comando que estou executando:
sudo pecl -d preferred_state=beta install expect
falha comld: library not found for -lexpect
O libexpect5.45.dylib
arquivo está localizado em /opt/local/lib
. A saída completa do comando de instalação éaqui.
Pelo que sei, o pecl simplesmente não consegue encontrar a biblioteca libexpect, até tentei acrescentar:
LD_LIBRARY_PATH=/opt/local/lib/expect5.45
LD_LIBRARY_PATH=/System/Library/Tcl/8.5/expect5.45
LD_LIBRARY_PATH=/opt/local/lib
Cada local possui um expect5.45.dylib
arquivo. Isso não ajudou. Alguém pode me ajudar a descobrir como instalar essa extensão?
Responder1
LD_LIBRARY_PATH
não é usado no OS X, e a variável de ambiente equivalente não afeta ld
(e pode quebrar outras coisas, pois ao contrário do Linux, é todo o caminho da biblioteca, o que significa que bibliotecas críticas como libSystem.dylib
não seriam mais encontradas; por outro lado, sudo
limpa seu ambiente, então não funcionaria de qualquer maneira). Além disso, o nome dessa biblioteca não corresponderia a -lexpect
.
Pelo que vale, port contents expect
no meu sistema Lion me mostra uma /opt/local/lib/libexpect.a
biblioteca estática (and libexpect5.45.a
), mas sem dylib. Tem certeza de que está instalado corretamente? Verifique a saída de port contents expect
.
Responder2
OK, então, graças a algumas soluções de problemas e insights de @geekosaur, a resposta é "pecl não está gerando um script libtool correto para instalar esta extensão no MacOSX", pelo menos na minha configuração. Eu realmente aprecio a discussão e a solução de problemas. É claro que minha próxima pergunta será: "Como faço para corrigir o script de instalação do pecl?" Mas isso fica para outro quadro... :)