PHP configura não encontrando bibliotecas de cabeçalhos LDAP [closed]

7

Eu instalei os cabeçalhos de desenvolvimento do LDAP:

apt-get install libldb-dev

Isso adicionou alguns cabeçalhos ldap:

root@crunchbang:/usr/include# ls -la ldap*
-rw-r--r-- 1 root root  9466 Apr 23  2013 ldap_cdefs.h
-rw-r--r-- 1 root root  1814 Apr 23  2013 ldap_features.h
-rw-r--r-- 1 root root 65213 Apr 23  2013 ldap.h
-rw-r--r-- 1 root root  9450 Apr 23  2013 ldap_schema.h
-rw-r--r-- 1 root root  3468 Apr 23  2013 ldap_utf8.h

Quando configuro e faço referência ao diretório:

./configure --with-ldap=/usr/include

Eu recebo este erro:

...
checking for LDAP support... yes
checking for LDAP Cyrus SASL support... no
checking size of long int... 4
configure: error: Cannot find ldap libraries in /usr/include.
    
por Shawn Welch 03.10.2014 / 19:46

6 respostas

7

Isso funcionou perfeitamente para mim.

Instalar bibliotecas LDAP:

apt-get install libldb-dev

Crie arquivos do vinculador SO:

updatedb --prunepaths=/mnt
cd /usr/lib

if [ ! -L liblber-2.4.so.2 ];
then
    ln -s "$(locate liblber-2.4.so.2)"
fi

if [ ! -L liblber-2.4.so.2.8.3 ];
then
    ln -s "$(locate liblber-2.4.so.2.8.3)"
fi

if [ ! -L liblber.so ];
then
    ln -s "$(locate liblber.so)"
fi

if [ ! -L libldap.so ];
then
    ln -s "$(locate libldap.so)"
fi

if [ ! -L libldap_r.so ];
then
    ln -s "$(locate libldap_r.so)"
fi

Configure o PHP:

./configure --with-ldap=/usr

    
por 06.10.2014 / 17:13
20

Eu encontrei este problema tentando obter extensões PHP envolvidas em um contêiner do Docker. Aqui está o que eu tive que fazer:

  1. apt-get install libldb-dev libldap2-dev
  2. ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so \ && ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so
por 29.04.2016 / 02:20
2

A maneira mais limpa de fazer isso, de acordo com este comentário nas edições do a imagem oficial do Docker do PHP, está usando libldap2-dev (no Debian / Ubuntu) e chamando configure com --with-libdir=lib/x86_64-linux-gnu .

    
por 04.01.2018 / 11:54
1

Versão do PHP 5.6.20 debian e baseado: %código% então, tente compilá-lo

    
por 25.04.2016 / 16:50
1

Eu tive esse mesmo problema e nenhuma das respostas acima ajudou. Então, depois de cavar o arquivo de configuração do PHP, encontrei uma solução diferente.

1) Verifique qual diretiva de lib que você está usando. Se você usar a opção --with-libdir=lib64 , deverá ter os arquivos libldap.so e os outros .so em /usr/lib64 . Se você não estiver especificando uma libdir, os arquivos .so deverão estar em /usr/lib . Você pode criar links simbólicos se o arquivo .so estiver em um diretório não padrão (como /usr/lib64 ), mas você não deseja especificar o libdir.

2) Use a opção --with-ldap=yes

Eu me pergunto por que isso não está documentado na ajuda do configure.

    
por 16.11.2017 / 12:58
0

(Supondo que você esteja no Ubuntu) Por favor, tente configure --with-ldap-libs=/usr/lib/i386-linux-gnu/ . Se não ajudar, por favor, estenda sua resposta com detalhes sobre qual distribuição Linux você usa e qual projeto você está construindo.

    
por 03.10.2014 / 19:56

Tags