Problém s linkovaním .so

Marek Antozi pavuk na perzeus.sjf.tuke.sk
Pátek Leden 21 12:46:38 CET 2000


Dobrý deň.

Trosšku programujem a program mám urobený tak, že používa mnou vytvorenú
.so knižnicu.
Túto knižnicu kompilujem a linkujem následovne:
cc -fstrength-reduce -O3 -Wall -D__RELEASE -DNO_SEAL -fPIC -c hw_x.c -o
lxwin.o
cc -shared -fPIC -o bin/lxwin.so lxwin.o -L /usr/X11R6/lib -lX11 -lXext
-lXxf86vm -lXxf86dga
toto urobí niečo také:
ldd lxwin.so 
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x2aab5000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x2ab59000)
        libc.so.6 => /lib/libc.so.6 (0x2ab65000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x55555000)

ciže všetky undefined symbols sú hľadané v systémových .so

Lenže ja potrebujem niečo také že tieto veci budú prilinkované k mojej
.so, čiže v podstate bude staticky zlinkovaná. Skúšal som niečo také:

cc -fstrength-reduce -O3 -Wall -D__RELEASE -DNO_SEAL -fPIC -c hw_x.c -o
lxwin.o 
cc -shared -fPIC -o bin/lxwin.so lxwin.o -L /usr/X11R6/lib
/usr/X11R6/lib/libX11.a /usr/X11R6/lib/libXext.a 
/usr/X11R6/lib/libXxf86vm.a /usr/X11R6/lib/libXxf86dga.a

Ale to mi program zatrúbi pri funkcii dlsym, undefined symbol :(

Ako to spraviť aby .so používala externe nanajvýš tak libc.so.6 a
/lib/ld-linux.so.2 ?
Prosím pomožte mi ;)

						marek
LiNUX - Live free or die
______________________________________________________________________
                                                              Contact:
                                                       antozim na tuke.sk
                                  pgp finger pavuk na perzeus.sjf.tuke.sk



Další informace o konferenci Linux