tsp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tsp-devel] lib partagée (.so) et gdisp+


From: Eric NOULARD
Subject: Re: [Tsp-devel] lib partagée (.so) et gdisp+
Date: Wed, 19 Oct 2005 16:09:47 +0200

Le mercredi 19 octobre 2005 à 14:14 +0200, Frederik Deweerdt a écrit :
> Le 19/10/05 01:46 +0200, Eric NOULARD écrivit:
> > Pour l'instant, ce que tu sembles vouloir faire
> > c'est 1).
> > Celà ne marche pas encore comme ça devrait car
> > les exécutables crées (tsp_gdisp+) semble être liés dynamiquement
> > au libs dynamiques qui sont dans tsp/exec/.../lib/*.so
> > et si tu déplaces (par exemple via make install) ben
> > tsp_gdisp+ ne trouve plus ses .so.
> Ne devrait-il pas les retrouver avec LD_LIBRARY_PATH (Sous Linux 
>  et solaris)? 

Oui sauf quand le chemin est mis en dur dans l'exécutable
généré:
address@hidden tsp]$ cd $DEVBASE
address@hidden tsp]$ cp -r exec /tmp/
address@hidden tsp]$ cd /tmp/
address@hidden tmp]$ export
LD_LIBRARY_PATH=/tmp/exec/current/linux/debug/lib

address@hidden tmp]$ ldd exec/current/linux/debug/bin/tsp_gdisp+
        linux-gate.so.1 =>  (0xffffe000)
        libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x4a60a000)

[...]
        /home/eric/[...]/tsp/exec/DEV/linux/debug/lib/libtsp_gdispUtils.so => 
/home/eric/[...]/tsp/exec/DEV/linux/debug/lib/libtsp_gdispUtils.so (0xb7fe6000)
[...] 
       libc.so.6 => /lib/tls/libc.so.6 (0x4a008000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x49ff1000)
address@hidden tmp]$

C'est (surement) une affaire d'options de compil lors de la création de
l'exécutable (link) (et des lib so?) mais je n'ai pas encore 
joué avec, jusqu'à présent j'ai été trop -static :))

Je compte créer/mettre à jour des règles de compil'
pour les libs so dans tsp/make/Makerules, sauf si un volontaire
s'y colle avant moi :))

Evidemment, l'idéal serait probablement d'utiliser libtool,
http://www.gnu.org/software/libtool/manual.html#Using-libtool
encore une fois il faut que j'essaie et il faudra alors l'utiliser
également pour les libs statiques tant qu'à faire :))

Sinon d'un point de vue "philosophique" je garderais l'utilisation
de LD_LIBRARY_PATH pour les tests ou le dev et irait bien patcher
le /etc/ld.so.conf avec les chemins tsp lors de l'installation du RPM.
(d'autant que visiblement ld.so.conf admet désormais les includes
https://www.redhat.com/archives/fedora-devel-list/2004-March/msg00557.html
en tout cas chez moi :)))
Je parle pour linux, sous Solaris je ne sais pas si il y a un fichier
équivalent?

Sinon concernant LD_LIBRARY_PATH, sous linux (et peut-être également
Solaris) pour des raisons de sécurité, un exécutable
SetUID/SetGID  ignorera LD_LIBRARY_PATH.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]