Pregunta ¿Cómo puedo cambiar a la fuerza una versión de biblioteca compartida utilizada por mi código desde una carpeta determinada que no sea la predeterminada en / usr / local / lib /?


Tengo una aplicación que estoy construyendo en Linux (Ubuntu). Los pasos involucrados son ./configure con ciertas opciones, make, y luego ejecuta la aplicación.

De forma predeterminada, la aplicación enlaza / usa una biblioteca compartida presente en la carpeta /usr/local/lib/libstarpu.so.0, pero he descargado la última fuente para este Starpu y la he instalado en mi hogar $ HOME / lib /.

Traté de usar esta nueva biblioteca como una entrada para el comando de configuración de la siguiente manera e incluso eliminé el / usr / local / lib de mi LD_LIBRARY_PATH, pero aun así cuando lo compruebo con ldd, parece mostrar que el ejecutable está construido con la versión anterior de la biblioteca en / usr / local / lib.

./configure LDFLAGS="-l:$HOME/lib/libstarpu.so.0"

¿Cómo hago para que mi sistema de compilación use la versión más nueva de esta biblioteca compartida en una carpeta diferente a la predeterminada del sistema de / usr / local / lib?

¿Debo modificar algo en mis makefiles relacionados con la construcción, configurar archivos?


0


origen




Respuestas:


Tratar:

LD_LIBRARY_PATH="$HOME/lib" ./configure

De todos modos, compruebe las variables de entorno que se explican aquí:

man ld.so

0