Linux - Crear .so independiente

 
Vista:

Crear .so independiente

Publicado por Alex (2 intervenciones) el 17/05/2006 17:47:51
Hola a todos,

necesito crear en linux una librería compartida (.so). La librería ya la tengo hecha y funciona en mi pc perfectamente. El tema es que uso otras librerías en el código (como libgtop y libxml, a parte de algunas más). Lo que yo quisiera es compilar esa librería de forma que se pudiera ejecutar en otro PC con linux, sin tener que instalar las librerías de las que depende. Es decir, que esa librería contenga todo lo que le haga falta, aunque aumente su tamaño.
Lo que no tengo muy claro es si lo que pido la convertiría ya en una librería estática. Adjunto el resultado de ejecutar el comando ldd sobre mi librería para ver las dependencias.

ldd LinuxSystemInfo.so
libgtop-2.0.so.5 => /usr/lib/libgtop-2.0.so.5 (0xb7fda000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7f5e000)
libxml++-2.6.so.2 => /usr/lib/libxml++-2.6.so.2 (0xb7f3d000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7e3e000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7e2e000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7e1d000)
libglibmm-2.4.so.1 => /usr/lib/libglibmm-2.4.so.1 (0xb7dd6000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7da5000)
libsigc-2.0.so.0 => /usr/lib/libsigc-2.0.so.0 (0xb7d9e000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb7ce4000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7cc3000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7cb8000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7b8b000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7b88000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7b83000)

(LinuxSystemInfo.so es mi librería)

¿Alguien podría decirme como compilar eso de manera que sea independiente?. O aunque sea alguna forma de poder meter todas esas librerías en una carpeta y conseguir que la librería cargadora las encuentre. He probado con la variable de entorno LD_LIBRARY_PATH, pero los resultados en Fedora por ejemplo son penosos. Una vez que la estableces no funciona ni siquiera el comando ls.

Os agradezco cualquier tipo de consejo, estoy bastante desesperado.

Muchísimas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder