VYRIEŠENÉ (?): Problém s linkovaním .so

Marek Antozi pavuk na perzeus.sjf.tuke.sk
Úterý Leden 25 13:45:22 CET 2000


Takže .. poriešil som to tak, s nervami úplne nadranc a veľmi ťažkým
srdcom na program 'ld'.

Výsledok vyzerá asi takto:

ld -Bstatic -Bsymbolic -shared -o bin/lxwin.so lxwin.o -L/usr/X11R6/lib
-\( -lpthread -lX11 -lXext -lXxf86vm -lXxf86dga -\) -\(
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/libgcc.a -lc -\) -Bstatic
/lib/libc.so.6

[pavuk na perzeus bin]$ nm -u lxwin.so 
__nss_aliases_database
__nss_ethers_database
__nss_group_database
__nss_netgroup_database
__nss_networks_database
__nss_passwd_database
__nss_protocols_database
__nss_publickey_database
__nss_rpc_database
__nss_shadow_database
_dl_rtld_map
_dl_starting_up@@GLIBC_2.0
_dl_sysdep_start@@GLIBC_2.0

pričom tieto všetky sú definované v:
ldd lxwin.so
        /lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 (0x2ab7e000)
        libc.so.6 => /lib/libc.so.6 (0x2ab84000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x55555000)
neviem sa ale zbaviť dynamického zlinkovania shared libky .. pretože
akonáhle chcem zlinkovať libc.so.6 linker mi automaticky vygeneruje
dynamic, aj keď mu jasne definujem -Bstatic ...

Ináč viete že:
ld -Bstatic -shared -o bin/lxwin.so lxwin.o -L/usr/X11R6/lib
-\( -lpthread -lX11 -lXext -lXxf86vm -lXxf86dga
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/libgcc.a -lc -\)

a:

ld -Bstatic -shared -o bin/lxwin.so lxwin.o -L/usr/X11R6/lib
-\( -lpthread  -lX11 -lXext -lXxf86vm -lXxf86dga
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/libgcc.a -\) -\( -lc
-\)

nieje to isté ?! Možno že viete, ale ja som to zistil až dnes ...
Pretože linker sa správa nejako záhadne, v prvom prípade archív
libpthread.a ani neprilinkuje .... zvláštne ... 
 
						marek
LiNUX - Live free or die
______________________________________________________________________
                                                              Contact:
                                                       antozim na tuke.sk
                                  pgp finger pavuk na perzeus.sjf.tuke.sk
                                                 Tel. +421/95/602 2152



Další informace o konferenci Linux