What's the location of C header files that match your kernel

Bonjour,

Après le reboot de ma Débian, mes images Vmware ne démarre plus à cause d’un problème de version. J’ai donc décidé de relancer l’installation de Vmware avec la commande :
./vmware-install.pl

Cependant, l’installation bloque sur la question :
What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]

Voial ce que j’ai essayé sans succès :

apt-get remove build-essential
apt-get install build-essential
=> build-essential est déjà la plus récente version disponible.

apt-get remove linux-headers-$(uname -r)
apt-get install linux-headers-2.6.18-5-686
=> linux-headers-2.6.18-5-686 est déjà la plus récente version disponible.

apt-get source linux-headers-2.6.18-5-686

module-assistant prepare

ln -s /usr/src/linux-headers-2.6.18-5-686 /usr/src/linux

Cependant, j’ai toujours le même soucis. Quelqu’un peut il m’aider ?

Merci d’avance,

Séb

cine.telecinco.es/imgsed/100 … uegerG.jpg

pour me faire pardonner :wink:

vivement que je puisse retourner sur le forum :neutral_face: :neutral_face:
que je retrouve mon multi-“tâche”

Ton système ne semble pas à jour, la dernière version (pour etch) des linux-headers est la 2.6.18-6.
packages.debian.org/etch/linux-h … 6.18-6-686

Lors de cette question, tu devrais spécifier le chemin complet pour les headers, il semblerait que ce soit /usr/src/linux-headers-2.6.18-5-686/ pour ton noyau.

Lu Desintegr,

J’ai essayé de spécifier /usr/src/linux-headers-2.6.18-5-686/ et voila la réponse :

The path “/usr/src/linux-headers-2.6.18-5-686” is an existing directory, but it does not contain a “linux” subdirectory as expected.

What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]

Pour info, voila le contenu du répertoire /usr/src/linux-headers-2.6.18-5-686/ :

arch kernel mm
block lib Module.symvers
crypto linux-2.6-2.6.18.dfsg.1 net
drivers linux-2.6_2.6.18.dfsg.1-18etch6.diff.gz scripts
fs linux-2.6_2.6.18.dfsg.1-18etch6.dsc security
include linux-2.6_2.6.18.dfsg.1.orig.tar.gz sound
init linux-headers-2.6.18-5-686 source
ipc Makefile usr

J’ai essayé aussi les liens symboliques suivants :
ln -s /usr/src/linux-headers-2.6.18-5-686 /usr/src/linux
ln -s /lib/modules/2.6.18-5-686/source /usr/src/linux
ln -s /lib/modules/2.6.18-5-686/build /usr/src/linux
Mais aucun des trois fonctionnent.

Merci d’avance,

Séb

En ayant un lien /usr/src/linux pointant vers /usr/src/linux-headers-2.6.18-5-686 et en spécifiant /usr/src/ au script d’installation ?

Re Desintegr,

Voila la réponse :

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] /usr/src/

The path “/usr/src” is a kernel header file directory, but it does not contain
the file “linux/version.h” as expected. This can happen if the kernel has
never been built, or if you have invoked the “make mrproper” command in your
kernel directory. In any case, you may want to rebuild your kernel.

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include]

Merci d’avance,

Séb

Et si tu donnes /usr/src/linux-headers-2.6.18-5-686/include/ ?

Re Desintegr,

Voila la réponse :

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] /usr/src/linux-headers-2.6.18-5-686/include/

The path “/usr/src/linux-headers-2.6.18-5-686/include” is a kernel header file
directory, but it is not part of kernel source tree.

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include]

Merci d’avance,

Séb

À lire : ww.commentcamarche.net/forum/aff … ous-debian

Re Desintegr,

J’ai essayé avec le répertoire /lib/modules/2.6.18-5-686/build/include, mais ça ne fonctionne toujours pas.

Et j’ai bien installé linux-header :

apt-get remove build-essential
apt-get install build-essential
=> build-essential est déjà la plus récente version disponible.

apt-get remove linux-headers-$(uname -r)
apt-get install linux-headers-2.6.18-5-686
=> linux-headers-2.6.18-5-686 est déjà la plus récente version disponible.

Merci d’avance,

Séb

Les headers sont composés de plusieurs paquets (exemple 2.6.24) sur :

  • un paquet général dépendant du noyau: linux-headers-2.6-amd64
  • un paquet contenant les scripts: linux-kbuild-2.6.24
  • un paquet indépendant de l’architecture: linux-headers-2.6.24-1-common
  • un paquet spécifique à ton noyau: linux-headers-2.6.24-1-amd64

plus un paquet général pour le développement (remplaçant celui de libc6-dev je crois): linux-kernel-headers (qui n’a rien à voir à ton pbm)

Le lien à donner est /usr/src/linux-headers-2.6.24-1-amd64 (dans mon exemple) qui contiernt des tas de lien vers les répertoires des autres paquets, sur cet exemple):

francois@bling:~$ ls -l /usr/src/linux-headers-2.6.24-1-amd64/ total 440 drwxr-xr-x 3 root root 4096 2008-04-05 14:40 arch lrwxrwxrwx 1 root root 38 2008-04-05 14:40 block -> ../linux-headers-2.6.24-1-common/block lrwxrwxrwx 1 root root 39 2008-04-05 14:40 crypto -> ../linux-headers-2.6.24-1-common/crypto lrwxrwxrwx 1 root root 40 2008-04-05 14:40 drivers -> ../linux-headers-2.6.24-1-common/drivers lrwxrwxrwx 1 root root 35 2008-04-05 14:40 fs -> ../linux-headers-2.6.24-1-common/fs drwxr-xr-x 5 root root 4096 2008-04-05 14:40 include lrwxrwxrwx 1 root root 37 2008-04-05 14:40 init -> ../linux-headers-2.6.24-1-common/init lrwxrwxrwx 1 root root 36 2008-04-05 14:40 ipc -> ../linux-headers-2.6.24-1-common/ipc lrwxrwxrwx 1 root root 39 2008-04-05 14:40 kernel -> ../linux-headers-2.6.24-1-common/kernel lrwxrwxrwx 1 root root 36 2008-04-05 14:40 lib -> ../linux-headers-2.6.24-1-common/lib lrwxrwxrwx 1 root root 41 2008-04-05 14:40 Makefile -> ../linux-headers-2.6.24-1-common/Makefile lrwxrwxrwx 1 root root 35 2008-04-05 14:40 mm -> ../linux-headers-2.6.24-1-common/mm -rw-r--r-- 1 root root 438111 2008-02-11 14:47 Module.symvers lrwxrwxrwx 1 root root 36 2008-04-05 14:40 net -> ../linux-headers-2.6.24-1-common/net lrwxrwxrwx 1 root root 40 2008-04-05 14:40 samples -> ../linux-headers-2.6.24-1-common/samples lrwxrwxrwx 1 root root 30 2008-04-05 14:40 scripts -> ../linux-kbuild-2.6.24/scripts lrwxrwxrwx 1 root root 41 2008-04-05 14:40 security -> ../linux-headers-2.6.24-1-common/security lrwxrwxrwx 1 root root 38 2008-04-05 14:40 sound -> ../linux-headers-2.6.24-1-common/sound lrwxrwxrwx 1 root root 36 2008-04-05 14:40 usr -> ../linux-headers-2.6.24-1-common/usr francois@bling:~$
Tous ces paquets sauf linux-kernel-headers sont nécessaires pour pouvoir avoir les headers complets.

Lu,

Y a t il une commande qui mettrait tout ça correctement ?

Style un apt-get reinstall

Merci d’avance,

Séb

apt-get install --reinstall «la liste des paquets que tu as adaptée à ton noyau»