Como usar uma biblioteca personalizada para certos programas?

2

Aqui está minha situação. Estou rodando o Centos 7, tenho a versão padrão do libcurl como fornecida pelo meu gerenciador de pacotes, e vários programas que dependem do libcurl.

Um deles é pycurl, uma ligação de python para libcurl. Eu acho que carrega dinamicamente o libcurl quando o python é executado?

Eu gostaria que o pycurl usasse uma versão customizada do libcurl, e todos os outros programas usassem a versão padrão. Como posso fazer isso?

    
por FusterCluck 05.11.2014 / 16:30

1 resposta

1

I think it dynamically loads libcurl when python runs?

Sim.

I would like pycurl to use a custom build of libcurl, and all other programs to use the standard version.

Certifique-se de que seu libcurl não esteja instalado em um dos caminhos da biblioteca padrão, incluindo /usr/local/lib . Se é /opt/curl/lib , antes de você executar o python:

export LD_LIBRARY_PATH=/opt/curl/lib:$LD_LIBRARY_PATH

O mais provável é que não esteja atualmente definido, mas a última parte ( :$LD_LIBRARY_PATH ) está lá apenas no caso. Isso sobrescreve os caminhos de busca padrão usados pelo linker / loader, então se você tem um libcurl compatível lá, é o que será carregado.

Você deve poder verificar isso subseqüentemente executando ldd no binário do módulo pycurl, onde quer que seja.

    
por 05.11.2014 / 17:07