Você deve fazer ldd /lib64/libldap-2.4.so.2
, verificar a saída para 'referências indefinidas', localizar o pacote que fornece essa biblioteca indefinida, localizar seu repositório, baixar manualmente o rpm que fornece essa biblioteca, instalá-lo com rpm -i <missing>.rpm
.
Provavelmente o seu problema é devido a bug na libldap ou a sua intervenção manual no sistema de empacotamento.
Por acaso tenho o RHEL6 por perto, então vamos encontrar seu símbolo for lib in /lib64/*.so.*; do if nm -D $lib|grep ber_sockbuf_io_udp; then echo $lib; fi; done
retorna:
0000003e2240e460 D ber_sockbuf_io_udp
/lib64/liblber-2.4.so.2
0000003e2240e460 D ber_sockbuf_io_udp
/lib64/liblber-2.4.so.2.5.6
U ber_sockbuf_io_udp
/lib64/libldap-2.4.so.2
U ber_sockbuf_io_udp
/lib64/libldap-2.4.so.2.5.6
U ber_sockbuf_io_udp
/lib64/libldap_r-2.4.so.2
U ber_sockbuf_io_udp
/lib64/libldap_r-2.4.so.2.5.6
Portanto, seu símbolo é definido em /lib64/liblber-2.4.so.2, que está instalado no meu sistema. Como está instalado eu pude fazer rpm -qf /lib64/liblber-2.4.so.2
que me mostra
openldap-2.4.23-32.el6_4.1.x86_64
Portanto, deve fazer parte do seu pacote. Agora você deve verificar se esta biblioteca existe em seu fs. Se isso não acontecer, baixe e reinstale o pacote openldap. Se ele existir - algo errado com o seu python.