LD_LIBRARY_PATH

¿Puedo configurar LD_LIBRARY_PATH para una aplicación individual? Estoy investigando la falla en las llamadas al sistema, ¿hay alguna manera de establecer la ruta correcta usando la configuración LD_LIBRARY_PATH?

La forma más sencilla sería crear un script de shell.

Haga que el script de shell exporte su nueva variable LD_LIBRARY_PATH y luego inicie su aplicación

por ejemplo (donde foo es tu aplicación)

#!/bin/sh LD_LIBRARY_PATH=some_path:$LD_LIBRARY_PATH export LD_LIBRARY_PATH foo 

Tan simple como:

 LD_LIBRARY_PATH=new_path:$LD_LIBRARY_PATH foo 

que trabaja en bash. Creo que funciona en todos los derivados de la concha bourne, pero no puedo garantizarlo.

Por supuesto, con este enfoque, tienes que escribir la ruta cada vez. Para hacerlo repetidamente, prefiero el enfoque de Glen .

Un elemento a tener en cuenta: no puede establecer LD_LIBRARY_PATH dentro de un progtwig y hacer que tenga algún efecto en el progtwig actual. Esto se debe a que el cargador dynamic ( ld.so.1 o algún nombre similar) ya está cargado y ha leído y procesado la variable de entorno antes de ejecutar cualquiera de su código. Puede configurarlo en el entorno del proceso actual, y ese valor afectará a cualquier proceso secundario, y podría usar una de las familias de funciones exec() para ejecutar un progtwig con el entorno establecido. En un caso extremo, podría volver a ejecutar el progtwig actual, ¡pero eso es extremo !