RE: System.map and unresolved symbol

2001-08-21 Par sujet alexis . guillard
je pensais aussi mais non ca ne suffisait pas puisque a chaque compilation
je fesait un 
make dep 
make bzlilo 
make modules modules_install
reboot


-Original Message-
From: Jean Charles Delepine [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 21, 2001 14:27
To: debian-user-french@lists.debian.org
Subject: Re: System.map and unresolved symbol


[EMAIL PROTECTED] écrivait (wrote) :

> Merci beaucoup.
> Un 'make mrproper' avant une nouvelle compilation m a permit d enlever mes
> problemes.

Un make dep après la reconfiguration aurait très certainement suffi (sur les
noyaux 2.4).

Jean Charles
-- 
Jean Charles Delépine - Équipe Réseaux Télécoms - Université de Picardie


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact
[EMAIL PROTECTED]



Re: System.map and unresolved symbol

2001-08-21 Par sujet Jean Charles Delepine
[EMAIL PROTECTED] écrivait (wrote) :

> Merci beaucoup.
> Un 'make mrproper' avant une nouvelle compilation m a permit d enlever mes
> problemes.

Un make dep après la reconfiguration aurait très certainement suffi (sur les
noyaux 2.4).

Jean Charles
-- 
Jean Charles Delépine - Équipe Réseaux Télécoms - Université de Picardie



RE: System.map and unresolved symbol

2001-08-21 Par sujet alexis . guillard
Merci beaucoup.
Un 'make mrproper' avant une nouvelle compilation m a permit d enlever mes
problemes.


-Original Message-
From: Jean Charles Delepine [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 21, 2001 13:52
To: debian-user-french@lists.debian.org
Subject: Re: System.map and unresolved symbol


[EMAIL PROTECTED] écrivait (wrote) :

> Bonjour, 
> 
> J essaye desesperement de compiler IPv6 et Mobile IPv6 en module.

En t'y prenant comment ?
Le mieux est de recompiler un noyau en le configurant correctement.

> Mais une fois le module compile/installe/machine reboote, j arrive pas a l
> inserer correctement, j ai une trentaine de ligne de ce genre
> "/lib/modules/2.4.7/kernel/net/ipv6/ipv6.o: unresolved symbol tcp_close"

À priori le module ne correspond pas au noyau utilisé.

> largo:/# ps aux
> {tcp_v4_syn_recv_sock} {tcp_v4_syn_recv_sock_R__ver_tcp_v4_syn_recv_sock}
> Warning: /usr/src/linux/System.map does not match kernel data.
> {tcp_v4_syn_recv_sock} {tcp_v4_syn_recv_sock_R__ver_tcp_v4_syn_recv_sock}
> Warning: /System.map does not match kernel data.

Comme indiqué clairement par ps, le System.map utilisé ne correspond pas
au noyau.

> La date et heure du fichier /usr/src/linux/System.map et /System.map
> correspond a la meme que celle d un 'uname -a'.
> J ai essaye de chercher de la documentation sur l interet du fichier
> System.map, mais j ai pas trouver grand chose.
> Est ce que qqun pe me m expliquer/envoyer un liens qui explique a quoi il
> sert ?

System.map est utilisé par ps, lsof, fuser et quelques autres pour pouvoir
donner les noms des appels système plutôt que leur adresse dans le noyau.

Ainsi :
$ ps -l
  F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY  TIME CMD
000 S   501 31190 31189  0  69   0 -   763 wait4  pts/500:00:01 bash
000 R   501 16626 31190  0  75   0 -   825 -  pts/500:00:00 ps
# mv /boot/System.map-2.4.8 /boot/System.map-2.4.8.old
$ ps -l
  F S   UID   PID  PPID  C PRI  NI ADDR SZ  WCHAN TTY  TIME CMD
000 S   501 31190 31189  0  69   0 -   763 112f41 pts/500:00:01 bash
000 R   501 16800 31190  0  78   0 -   680  - pts/500:00:00 ps

(Voir la différence pour le champ WCHAN)

> Comment je peux faire pour inserer mon module correctement sans avoir des
> "unresolved symbol" ?

Essayer déjà après un 'depmod -a' et avec un 'modprobe ipv6'.

Si ça ne marche pas c'est que les modules ne correspondent vraiment pas au
noyau, en recompiler un correctement. (lire /usr/src/linux/README, le
KERNEL-Howto et le MODULE-Howto).

Ici, sur un 2.4.8, modprobe ipv6 marche parfaitement.

Les HOWTOS peuvent être trouvés sur http://www.freenix.org/.

  Jean Charles
-- 
Jean Charles Delépine - Équipe Réseaux Télécoms - Université de Picardie


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact
[EMAIL PROTECTED]



Re: System.map and unresolved symbol

2001-08-21 Par sujet Jean Charles Delepine
[EMAIL PROTECTED] écrivait (wrote) :

> Bonjour, 
> 
> J essaye desesperement de compiler IPv6 et Mobile IPv6 en module.

En t'y prenant comment ?
Le mieux est de recompiler un noyau en le configurant correctement.

> Mais une fois le module compile/installe/machine reboote, j arrive pas a l
> inserer correctement, j ai une trentaine de ligne de ce genre
> "/lib/modules/2.4.7/kernel/net/ipv6/ipv6.o: unresolved symbol tcp_close"

À priori le module ne correspond pas au noyau utilisé.

> largo:/# ps aux
> {tcp_v4_syn_recv_sock} {tcp_v4_syn_recv_sock_R__ver_tcp_v4_syn_recv_sock}
> Warning: /usr/src/linux/System.map does not match kernel data.
> {tcp_v4_syn_recv_sock} {tcp_v4_syn_recv_sock_R__ver_tcp_v4_syn_recv_sock}
> Warning: /System.map does not match kernel data.

Comme indiqué clairement par ps, le System.map utilisé ne correspond pas
au noyau.

> La date et heure du fichier /usr/src/linux/System.map et /System.map
> correspond a la meme que celle d un 'uname -a'.
> J ai essaye de chercher de la documentation sur l interet du fichier
> System.map, mais j ai pas trouver grand chose.
> Est ce que qqun pe me m expliquer/envoyer un liens qui explique a quoi il
> sert ?

System.map est utilisé par ps, lsof, fuser et quelques autres pour pouvoir
donner les noms des appels système plutôt que leur adresse dans le noyau.

Ainsi :
$ ps -l
  F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY  TIME CMD
000 S   501 31190 31189  0  69   0 -   763 wait4  pts/500:00:01 bash
000 R   501 16626 31190  0  75   0 -   825 -  pts/500:00:00 ps
# mv /boot/System.map-2.4.8 /boot/System.map-2.4.8.old
$ ps -l
  F S   UID   PID  PPID  C PRI  NI ADDR SZ  WCHAN TTY  TIME CMD
000 S   501 31190 31189  0  69   0 -   763 112f41 pts/500:00:01 bash
000 R   501 16800 31190  0  78   0 -   680  - pts/500:00:00 ps

(Voir la différence pour le champ WCHAN)

> Comment je peux faire pour inserer mon module correctement sans avoir des
> "unresolved symbol" ?

Essayer déjà après un 'depmod -a' et avec un 'modprobe ipv6'.

Si ça ne marche pas c'est que les modules ne correspondent vraiment pas au
noyau, en recompiler un correctement. (lire /usr/src/linux/README, le
KERNEL-Howto et le MODULE-Howto).

Ici, sur un 2.4.8, modprobe ipv6 marche parfaitement.

Les HOWTOS peuvent être trouvés sur http://www.freenix.org/.

  Jean Charles
-- 
Jean Charles Delépine - Équipe Réseaux Télécoms - Université de Picardie



Re: System.map and unresolved symbol

2001-08-21 Par sujet Thierry Laronde
On Tue, Aug 21, 2001 at 12:02:20PM +0100, [EMAIL PROTECTED] wrote:
> Bonjour, 

Salut,
> 
> J essaye desesperement de compiler IPv6 et Mobile IPv6 en module.
> Mais une fois le module compile/installe/machine reboote, j arrive pas a l
> inserer correctement, j ai une trentaine de ligne de ce genre
> "/lib/modules/2.4.7/kernel/net/ipv6/ipv6.o: unresolved symbol tcp_close"
> J ai fait par example un:
> largo:/# ksyms -a | grep tcp_close
> c01b1444  tcp_close_R__ver_tcp_close
> 
> Hum je sais pas trop si ca a un rapport avec mon probleme.
> J ai aussi remarque que quand je fait un ps aux, j ai toujours ces 2
> warnings.
> 
> largo:/# ps aux
> {tcp_v4_syn_recv_sock} {tcp_v4_syn_recv_sock_R__ver_tcp_v4_syn_recv_sock}
> Warning: /usr/src/linux/System.map does not match kernel data.
> {tcp_v4_syn_recv_sock} {tcp_v4_syn_recv_sock_R__ver_tcp_v4_syn_recv_sock}
> Warning: /System.map does not match kernel data.
> 
> La date et heure du fichier /usr/src/linux/System.map et /System.map
> correspond a la meme que celle d un 'uname -a'.
> J ai essaye de chercher de la documentation sur l interet du fichier
> System.map, mais j ai pas trouver grand chose.

Il est utilisé pour faire correspondre les adresses statiques de fonctions
ayant provoqué un problème avec un nom un peu plus parlant. C'est une table
de symboles. Quelques infos dans la page de manuel de `klogd'.

Pour ton problème, as-tu correctement « nettoyé » les sources du noyau avant
de relancer la compilation ? Il y a apparemment un problème entre les
fonctions incluses dans le noyau et ce que tu veux passer en module. Je
pense qu'il faut que le noyau soit "prêt" à accepter les modules, et si tu
n'as pas changé le noyau (compilé avec les bonnes options avant de compiler
les modules), c'est peut-être la source du problème.

Essaie alors une compil intégrale.

A+
-- 
Thierry LARONDE, Centre de Ressources Informatiques, Archamps - France
http://www.cri74.org/