stat en libreria dinamica en linux

lukasthywalls
19 de Agosto del 2005
Toy liadillo con una practica de la universidad, y ahora me ha saltado un error que no le veo el sentido.
Uso una libreria dinamica, y hago en ella includes de "sys/stat.h" amen de otras mas, compilo, todo correcto, pero cuando ejecuto y llega al punto donde usa la instruccion "stat" dice que "relocation error... undefined symbol stat".
Solo me pasa con este, porque uso el "string.h" y otras mas sin problemas. ¿Que ocurre?

chuidiang
19 de Agosto del 2005
Hola:

No sé si puede ser esto, pero te lo comento.
Las librerías dinámicas tienen extensión .so, su código no se mete en el ejecutable, sino que debe encontrarse el fichero con la libreria en tiempo de ejecución.
La variable de entrono LD_LIBRARY_PATH debe contener los directorios donde hay librerias .so que necesite tu ejecutable.
Las librerias standard de linux ya están metidas en esa variable. Si usas alguna libreria dinámica no standard (o tuya propia), debes añadir su PATH a esa variable.

Se bueno.

lukasthywalls
19 de Agosto del 2005
Ya lo de la libreria dinamica lo se, lo que estoy creando es una libreria dinamica, dentro esta el "stat".
La cosa es que solo me ocurre con el stat y con el fstat (vamos cosas del "sys/stat.h") porque del string.h, types.h, etc etc, no me dice nada.
Despues la variable esa que me comentas, la he visto en los manpages del environ, pero en mis variables de entorno no la tengo. De todas formas, esa son los path donde encontrar .SO y lo que me ocurre es que no encuentra una funcion que se supone que he incluido de manera estatica dentro de mi libreria dinamica.

No se, de todas formas probare a ver...