Re: un bug ?

トップ ページ

このメッセージに返信
著者: Edgar Bonet Orozco
日付:  
To: guilde
題目: Re: un bug ?
Salut !

Je n'ai pas la solution à ton problème, mais je peux peut-être t'aider à
la trouver toi même.

> /usr/lib/libdl.a(dlsym.o): In function `doit.2':
> dlsym.o(.text+0x22): undefined reference to `_dl_default_scope'


D'après ce message d'erreur, _dl_default_scope est un symbole qui est
utilisé par /usr/lib/libdl.a mais qui n'est défini nulle part. Dans mon
système (RedHat 5.2), ce symbole est défini dans /lib/ld-linux.so.2, et
tous les programmes sont liés par défaut à cette bibliothèque. Il
faudrait que tu voies ce qu'il en est chez toi.

Pour voir quelles sont les bibliothèques liées par défaut à tout
programme, tape la commande
    echo "main(){}" > a.c ; cc a.c ; ldd a.out
et montre nous le résultat. Chez moi ça donne
        libc.so.6 => /lib/libc.so.6 (0x40005000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)
ce qui veut dire que tous les programmes que j'écris sont liés par
défaut à /lib/libc.so.6 et à /lib/ld-linux.so.2, en plus des autres
bibliothèques que je pourrai préciser avec les options -l.


Ensuite, avec la commande nm, tu peux voir quels symboles sont utilisés
et définis dans les bibliothèques :
    $ nm /usr/lib/libdl.a | grep _dl_default_scope
             U _dl_default_scope
             U _dl_default_scope
    $ nm /lib/libc.so.6 | grep _dl_default_scope
             U _dl_default_scope
    $ nm /lib/ld-linux.so.2 | grep _dl_default_scope
    0000a190 D _dl_default_scope
Ceci veut dire que le symbole en question est utilisé mais non défini
(U = undefined) dans /usr/lib/libdl.a et /lib/libc.so.6. Il est défini
comme donnée (D = initialized data) dans /lib/ld-linux.so.2. Pour
comprendre ce qu'affiche nm, il faut voir info binutils : la page de man
de nm est malheureusement très imcomplète.


Fais ces petits test sur ton système et montre nous ce que ça donne.
Peut-être que ça aidera à cerner le problème.

> Content-Type: text/plain; charset=us-ascii


Il faudrait que tu configures mieux ton XFMail ou, au pire, que tu
écives sans accents. En effet, tu envoies des accents codés en
ISO-8859-1 (ce qui est très bien) mais ton mailer annonce que c'est de
l'US-ASCII (ce qui est très mal). Du coup, les lecteurs de mail bien
configurés considèrent tes accents (à juste titre) comme des caractères
illégaux.

-- 
Edgar Bonet Orozco
Lab. Louis Néel --  CNRS             Tel :    +33 476-88-90-89
BP 166                               Fax :    +33 476-88-11-91
38042 Grenoble cedex 9               e-mail : bonet@???