Je n'ai jamais bien compris comment fonctionnait l'édition des liens.
J'ai un programme qui linke avec la libdb4 (options au link :
-L /usr/local/BerkeleyDB.4.3/lib/ -l db)
Ce programme fait un appel à getprotobyname, qui lui même appelle des
fonctions de la libnss_db, qui est linkée avec libdb3 :
L'ennuis, c'est que cette fonction de la libnss (_nss_db_getspnam_r en
l'occurence) appelle une fonction de la libdb4 et pas celles de la
libdb4, ce qui crashe le programme.
Pourtant, je pense que plusieurs version de la même lib peuvent très
bien cohabiter dans un même programme. Je dois oublier de dire
quelquechose d'important au linker, mais quoi ?
Note: L'ensemble tourne avec libtool, qui définit pas mal de LD_MACHIN,
peut être y a t-il un rapport ??)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Gaborit
À (at) 09 Jan 2006 14:47:10 GMT, écrivait (wrote): [...]
Pourtant, je pense que plusieurs version de la même lib peuvent très bien cohabiter dans un même programme. Je dois oublier de dire quelquechose d'important au linker, mais quoi ?
Ce n'est malheureusement presque jamais le cas. Un programme ne peut utiliser qu'une et une seule version d'une même bibliothèque.
Maintenant, je ne saurais comment vous aider pour votre problème précis. Peut-être pourriez-vous convaincre votre programme d'utilise db3 et non db4...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) 09 Jan 2006 14:47:10 GMT,
ccellier@evistel.com écrivait (wrote):
[...]
Pourtant, je pense que plusieurs version de la même lib peuvent très
bien cohabiter dans un même programme. Je dois oublier de dire
quelquechose d'important au linker, mais quoi ?
Ce n'est malheureusement presque jamais le cas. Un programme ne peut
utiliser qu'une et une seule version d'une même bibliothèque.
Maintenant, je ne saurais comment vous aider pour votre problème
précis. Peut-être pourriez-vous convaincre votre programme d'utilise
db3 et non db4...
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) 09 Jan 2006 14:47:10 GMT, écrivait (wrote): [...]
Pourtant, je pense que plusieurs version de la même lib peuvent très bien cohabiter dans un même programme. Je dois oublier de dire quelquechose d'important au linker, mais quoi ?
Ce n'est malheureusement presque jamais le cas. Un programme ne peut utiliser qu'une et une seule version d'une même bibliothèque.
Maintenant, je ne saurais comment vous aider pour votre problème précis. Peut-être pourriez-vous convaincre votre programme d'utilise db3 et non db4...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>