Bonjour à tous,
Je viens d'installer la nouvelle Slack 10.2 (qui, au passage, est vraiment bien). Ayant un bi-processeurs il me faut donc un noyau SMP, donc quitte à recompiler un noyau autant prendre la dernière version (la 2.6.13.2). La compilation et l'install du noyau se fait sans soucis.
Arrivée à la compilation de MPlayer, la gros problème, gcc me sort des erreurs internes de type segmentation fault. Tout d'abord je me dis que ma RAM est foutue donc petit test (une heure quand même) avec Memtest -> deux pass et aucune erreur. La j'essai de compiler autre chose, je choisie wxWidgets (nécessaire à aMule) même problème (la compile de xdtv passe bien par contre). Enfin, ne sachant plus quoi faire je reboot ma Slack avec le noyau d'origine (le 2.4.31) et la miracle ça compile nickel.
Quelqu'un aurait-il une idée/solution à ce problème (je veux garder mon noyau 2.6.13.2)?
# Librairies du noyau ?
Posté par nullard3d . Évalué à 1.
(n'oublie pas de sauvegarder les anciens fichiers au cas où ça ne serait pas ça :-)
Ne pas oublier non plus de vérifier que le System.map et éventuellement le initrd ont bien été placés.
Si ce n'est pas ça, il y a peut-être un pépin avec gcc et le SMP...
Il faudrait plus de détails pour pouvoir avancer (64 bits ?)
[^] # Re: Librairies du noyau ?
Posté par slack . Évalué à 2.
> à recopier dans /usr/include/linux,
Surtout pas. on laisse dans ce répertoire les includes du noyau utilisées pour compiler la glibc !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Slack
[^] # Re: Librairies du noyau ?
Posté par nullard3d . Évalué à 1.
ha ben si on peut plus être bourrin alors...
Les headers dans /usr/include/linux sont liés à la glibc et pas au kernel ? ça a une certaine logique puisque le kernel ne donne pas de librairies mais a-t'on besoin de librairies pour interagir avec le kernel ? A quoi se linkent les modules quand on les compile séparement ?
Tu aurais un lien vers de la doc là-dessus ? ça m'intéresse pas mal.
bon, ça m'apprendra à l'ouvrir quand j'y comprends rien :-)
[^] # Librairies, modules
Posté par slack . Évalué à 2.
- tu construis des outils (gcc, binutils, etc) pour construire des exécutables,
- tu choisis un kernel (par exemple le 2.6.11) que tu désarchives (sans le compiler),
- tu compiles une glibc avec les includes de ce kernel (la glibc doit savoir quels sont les paramètres attendus par le kernel) puis tu l'installes,
- tu compiles tes exécutables avec la glic et tu les installes,
- dès que tu compilés assez d'outils (gcc, binutils, etc), tu peux compiler ton noyau.
Ensuite, tu peux remplacer le noyau 2.6.11 par une version 2.6.12 ou 2.6.13. Mais il ne faut surtout pas utiliser un noyau plus ancien : 2.6.10 ou série 2.4 interdits . La glibc ne le supporterait pas.
En cas de mises à jour du noyau, il faut laisser dans /usr/include les include du noyau avec lesquels la glibc a été compilée.
Si tu veux plus de détails, va voir www.linuxfromscratch.org/lfs/view
Ne pas confondre les bibliothèques et les modules.
* Un programme n'interagit jamais directement avec le noyau mais il fait appel à des bibliothèques de fonctions (ouvertures de fichiers, affichages, etc) qui font appel si nécessaire au noyau.
* Un module est une partie du code du noyau qui est chargée en mémoire en cas de besoin. Cela permet de construire un noyau pouvant supporter un très grand nombres de périphériques différents et de charger en mémoire uniquement les pilotes des périphériques présents sur la machine.
Une bonne doc : "Guide d'installation de Linux version 2.6.2" à l'adresse
http://casteyde.christian.free.fr/(...)
Slack
[^] # Re: Librairies du noyau ?
Posté par BrainDeadBZH . Évalué à 1.
Mes proc sont des Athlon MP 1800+ (donc pas 64bits) avec 512Mo de PC2100 et je n'ai rien de particulier dans mon matos.
# Installe les bons entêtes !
Posté par slack . Évalué à 2.
J'ai déja eu ces problèmes : il faut garder dans /usr/include les includes utilisées pour compiler la glibc et ne surtout pas les remplacer.
Slackware 10.2 dispose de deux glibc. L'une, qui dispose du support de linuxthreads, a été compillée avec les includes du 2.4.31. L'autre, qui dispose du support de NPTL, a été compilée avec les includes du 2.6.13 . Par défaut, slackware utilise la deuxième mais installe les includes de la première.
Première méthode : tu utilises la remarque dans le fichier
linux-2.6.13/kernel-headers.WARNING
du cd2 de la slack.
Deuxième méthode : tu enlèves les includes du 2.4 et tu installes les includes du 2.6 (n'utilise plus de noyau 2.4 dans ce cas) ! Pour cela, logue toi en root dans un terminal texte et lance les commandes suivantes après avoir monté le cdrom 2 de la slack sur /mnt/cdrom :
init 1
removepkg kernel-headers-2.4.31
installpkg /mnt/cdrom/linux-2.6.13/kernel-headers-2.6.13-i386-1.tgz
removepkg alsa-driver # il faut aussi mettre à jour alsa
installpkg /mnt/cdrom/linux-2.6.13/alsa-driver-1.0.9b_2.6.13-i486-1.tgz
init 3 # ou init 4 pour retourner en graphique
Slack
[^] # Re: Installe les bons entêtes !
Posté par BrainDeadBZH . Évalué à 1.
C'est la première fois que ça arrive. Sur ma Slack 10.1 j'avais mis un kernel 2.6.11 et la compilation ne posait pas de problème.
[^] # ?????????????????????
Posté par slack . Évalué à 1.
Je n'ai pas eu de problème pour compiler les logiciels qui te posent problème.
Mon système : athlon 1600 avec 256 Mo de RAM non SMP.
Je ne vois pas ce qui peut provoquer ces segfaults. Voici quatre pistes pour y voir plus clair.
* Peux-tu tester le noyau 2.6.13 fourni par le cd2 cd slack et compiler avec ?
* Peux-tu renvoyer les extraits des fichiers
/var/log/syslog
/var/log/messages
quand gcc segfault ?
* Qu'affiche gcc au segfault ?
* Peux-tu recompiler ton noyau sans SMP et compiler avec ?
Slack
[^] # Re: ?????????????????????
Posté par BrainDeadBZH . Évalué à 1.
désolé pour le délai mais j'ai été beaucoup pris. Merci de vos réponse mais en fait je pense bien que c'est un problème hardware qui est à l'origine.
En effet, en examinant /var/log/messages, voila ce qui met juste avant les segfaults :
Oct 6 18:54:50 BrainDeadPC kernel: MCE: The hardware reports a non fatal, correctable incident occurred on CPU 1.
Oct 6 18:54:50 BrainDeadPC kernel: Bank 1: d400000000000151
Je pense donc que un de mes processeurs à pris un coup dans la gueule :-((. C'est la misère surtout que ce type de CPU est quasi introuvable (ou cher) et que je peux pas mettre deux CPU à freq. différentes. Mais bon cela sort du domaine de ce forum Slackware.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.