Un probléme qui m'empêche de dormir

salut quand je veux installé le pilote de mon modem sagem fast 800 j’ai ce probléme :

[code]debian:/usr/src# ls -l
total 44600
lrwxrwxrwx 1 root root 26 2008-03-24 02:14 linux -> linux-headers-2.6.22-3-686
drwxrwxrwx 17 root root 4096 2008-03-24 01:20 linux-headers-2.6.22-3
drwxrwxrwx 4 root root 4096 2008-03-24 01:20 linux-headers-2.6.22-3-686
drwxrwxrwx 3 root root 4096 2008-03-24 00:28 linux-kbuild-2.6.22
drwxr-xr-x 19 xavi xavi 4096 2007-11-04 18:57 linux-source-2.6.22
-rw-r–r-- 1 root root 45601899 2008-02-11 01:22 linux-source-2.6.22.tar.bz2
debian:/usr/src# cd /home/xavi/Desktop/eagle-usb/eagle-usb-1.9.9
debian:/home/xavi/Desktop/eagle-usb/eagle-usb-1.9.9# ./configure
checking for gcc… gcc
checking for C compiler default output file name… a.out
checking whether the C compiler works… yes

checking for dhclient… dhclient
checking for pppd… yes
checking for pppoe… no
checking for doc/man/eagleconfig.8… yes
checking for xsltproc… yes
*** docbook stylesheets are missing, keeping prebuild version ***
checking for kernel version… not found
checking for hotplug… 0
checking for ifup… 1
checking for adictrl… no
checking for eaglectrl… no
checking for showstat… no
checking for eaglestat… no
checking for startadsl… no
checking for stopadsl… no
configure: creating ./config.status
config.status: creating Makefile.common

========================================================================
distribution detected Debian

dhcp support dhclient

pppd support yes
pppoa support yes
pppoe support no (runtime detection)

install eagleconnect (tcl/tk frontend) yes

generate documentation no

error: kernel-sources cannot be found![/code]
alors comment regler ce probléme ?

Essaies de voir dans le configure (./configure --help pour plus d’infos) ou à la rigueur dans le Makefile si tu peux indiquer le chemin des sources de ton noyau.

Je te conseillerais aussi de taper “sagem fast 800” dans le moteur de recherche de ce forum, ça pourra sûrement t’aider :wink: (je ne possède pas ce modem).

++

Il te manque les sources de ton noyau.

Puis :

Ou xxxx égale ton type d’architecture.

Utilises modules assistant, il y a les sources eagle et de quoi faire le module sans te casser les pieds avec ça. Sinon, pour information les headers sont constitués de plusieurs paquets, par exemple
linux-kbuild-2.6.18
linux-kernel-headers
linux-headers-2.6.18-5-686
linux-headers-2.6.18-5

j’ai essayer mais toujours rien
j’ai parcouru le fichier configure :

[code]# ===== check whether kernel-source & kernel-version is ok =====
if test ${BUILD_MODULE} == 1 ; then

echo “$as_me:$LINENO: checking for kernel version” >&5
echo $ECHO_N “checking for kernel version… $ECHO_C” >&6
cat < conftest.c
#include <stdio.h>
#include “$KERNELSRC/include/linux/version.h”

int
main()
{
fprintf(stdout, “%s\n”, UTS_RELEASE);
}

EOF

gcc -I$KERNELSRC/include -o conftest conftest.c >> config.log 2>&1
if test -s ./conftest; then
KERNEL_SRC_VER=./conftest
echo “$as_me:$LINENO: result: $KERNELVER” >&5
echo “${ECHO_T}$KERNELVER” >&6
else
KERNEL_SRC_VER=none
echo "$as_me:$LINENO: result: not found " >&5
echo "${ECHO_T} not found " >&6
fi
rm -f conftest.c conftest

else
KERNEL_SRC_VER="module_disabled"
fi

===== check for hotplug =====[/code]

il y a quelque chose que je peux changer pour que ça marche ?
voici le contenu de mon dossier /usr/src/ :

debian:/usr/src# ls -l total 44604 lrwxrwxrwx 1 root root 26 2008-03-24 02:14 linux -> linux-headers-2.6.22-3-686 drwxrwxrwx 17 root root 4096 2008-03-24 01:20 linux-headers-2.6.22-3 drwxrwxrwx 4 root root 4096 2008-03-24 01:20 linux-headers-2.6.22-3-686 drwxrwxrwx 3 root root 4096 2008-03-24 00:28 linux-kbuild-2.6.22 drwxr-xr-x 19 xavi xavi 4096 2007-11-04 18:57 linux-source-2.6.22 -rw-r--r-- 1 root root 45601899 2008-02-11 01:22 linux-source-2.6.22.tar.bz2 drwxr-xr-x 7 root root 4096 2008-03-24 23:38 rpm

Tu ne veux vraiment pas utiliser modoule assistant???

Bon…

Vérifie que /lib/modules/2.6.22-3-686/build

est bien à jour. Si non, pense à utiliser module-assistant (qui est fait pour ça justement) ou bien fourni les messages d’erreurs et les entêtes du Makefile

[quote=“fran.b”]Tu ne veux vraiment pas utiliser modoule assistant???

Bon…

Vérifie que /lib/modules/2.6.22-3-686/build

est bien à jour. Si non, pense à utiliser module-assistant (qui est fait pour ça justement) ou bien fourni les messages d’erreurs et les entêtes du Makefile[/quote]

je sais pas utiliser ce module-assistant , tu peux m’expliquer ?
j’ai verifié ce dossier /lib/modules/2.6.22-3-686/build et je crois que c’est le meme que linux-headers

module-assistant te permets de compiler et installer certains modules sans trop te prendre la tete.

la commande (en root):

Ensuite tu fais successivement UPDATE et PREPARE (qui vont t installer les entetes du noyau, build-essantial & co).

Une fois ces etapes faites, tu choisis le module que tu veux compiler dans SELECT (ie eagle-usb-modules), ensuite OK, GET, BUILD, INSTALL

Sinon si tu veux faire sans comprendre ce que tu fais, tu executes ces trois commandes:

a-i pour auto-install

j’ai fais ce que tu m’a dit mais toujours le même problème
apres (update prepare select->eagle-usb-module get build)

et apres build il m’ecrit

┌─────────────┤ module-assistant, mode interactif ├─────────────┐ │ La construction du paquet eagle-usb-modules-source a │ │ échoué. Que souhaitez-vous faire ? │ │ │ │ VIEW Examiner le fichier journal de la construction │ │ CONTINUE Passer et continuer avec l'opération suivante │ │ STOP Arrêt du traitement des commandes de construction │ │ │ │ │ │ │ │ │ │ <Ok> <Annuler>

/usr/bin/make -f debian/rules clean ↑ │ make[1]: entrant dans le répertoire « /usr/src/modules/eagle-usb » ▮ │ sed -e 's/_KVERS_/2.6.22-3-686/g' debian/control.in >debian/control ▒ │ dh_testdir ▒ │ dh_testroot ▒ │ # Add here commands to clean up after the build process. ▒ │ /usr/bin/make -C driver clean >/dev/null 2>&1 || true ▒ │ rm -f Makefile.common ▒ │ rm -rf config.{status,log,cache} ▒ │ rm -f configure-stamp ▒ │ dh_clean ▒ │ rm -f debian/control debian/postinst ▒ │ make[1]: quittant le répertoire « /usr/src/modules/eagle-usb » ▒ │ /usr/bin/make -f debian/rules binary-modules ▒ │ make[1]: entrant dans le répertoire « /usr/src/modules/eagle-usb » ↓ │ /usr/bin/make -f debian/rules binary-modules ▒ │ make[1]: entrant dans le répertoire « /usr/src/modules/eagle-usb » ▮ │ sed -e 's/_KVERS_/2.6.22-3-686/g' debian/control.in >debian/control ▒ │ sed -e 's/_KVERS_/2.6.22-3-686/g' debian/postinst.in >debian/postinst ▒ │ dh_testdir ▒ │ # Add here commands to configure the package. ▒ │ CONFIG_FILES=Makefile.common ./configure --build i486-linux-gnu \ ▒ │ --prefix=/ \ ▒ │ --exec-prefix=/usr \ ▒ │ --sysconfdir=/etc \ ▒ │ --libdir=/usr/lib \ ▒ │ --datadir=/usr/share \ ▒ │ --includedir=/usr/include \ ▒ │ --infodir=/usr/share/info \ ↓ │ --mandir=/usr/share/man \ ↑ │ --with-dsp-dir=/usr/share/eagle-usb/dsp \ ▒ │ --with-kernel-src=/lib/modules/2.6.22-3-686/build ▒ │ checking for gcc... gcc ▮ │ checking for C compiler default output file name... a.out ▒ │ checking whether the C compiler works... yes ▒ │ checking whether we are cross compiling... no ▒ │ checking for suffix of executables... ▒ │ checking for suffix of object files... o ▒ │ checking whether we are using the GNU C compiler... yes ▒ │ ....................... ....................... ▒ │ checking for stdint.h... yes ▒ │ checking for unistd.h... yes ▒ │ checking fcntl.h usability... yes ▒ │ checking fcntl.h presence... yes ↓ │ │ │ *** libxslt-proc package is missing, documentation won't be build! *** ↑ │ checking for kernel version... not found ▒ │ checking for ifup... 1 ▒ │ checking for adictrl... no ▒ │ checking for eaglectrl... no ▒ │ checking for showstat... no ▒ │ checking for eaglestat... no ▒ │ checking for startadsl... no ▒ │ checking for stopadsl... no ▒ │ configure: creating ./config.status ▒ │ config.status: creating Makefile.common ▒ │ config.status: executing default commands ▮ │ ▒ │ ======================================================================== ▒ │ distribution detected Debian ↓ │ ↑ │ dhcp supportdhclient ▒ │ ▒ │ pppd supportyes ▒ │ pppoa supportyes ▒ │ pppoe supportno (runtime detection) ▒ │ ▒ │ install eagleconnect (tcl/tk frontend) yes ▒ │ ▒ │ generate documentation no ▒ │ ======================================================================== ▒ │ ▒ │ error: kernel-sources cannot be found! ▮ │ ▒ │ make[1]: *** [configure-stamp] Erreur 1 ↓ │ make[1]: quittant le répertoire « /usr/src/modules/eagle-usb » ▮ │ make: *** [kdist_image] Erreur 2 ↓ │ │ <Ok>

voici mon code de la console :

[code]debian:/home/xavi/Desktop# dpkg -i eagle-usb-modules-source_2.1.1-2_all.deb
Sélection du paquet eagle-usb-modules-source précédemment désélectionné.
(Lecture de la base de données… 122957 fichiers et répertoires déjà installés.)
Dépaquetage de eagle-usb-modules-source (à partir de eagle-usb-modules-source_2.1.1-2_all.deb) …
Paramétrage de eagle-usb-modules-source (2.1.1-2) …
debian:/home/xavi/Desktop# m-a
Démarrage de l’interface « Dialog »…

Données de 85 paquets mises à jour
Récupération des sources du noyau de la version : 2.6.22-3-686
En-têtes du noyau disponibles dans /lib/modules/2.6.22-3-686/build
apt-get install build-essential
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
build-essential est déjà la plus récente version disponible.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

Fait.

Appuyez sur Entrée pour continuer…
unpack
Extracting the package tarball, /usr/src/eagle-usb.tar.gz, please wait…
"/usr/share/modass/packages/default.sh" build KVERS=2.6.22-3-686 KSRC=/lib/modules/2.6.22-3-686/build KDREV=2.6.22-6.lenny1 kdist_image
debian:/home/xavi/Desktop#
[/code]

et dans le fichier configure il y a cette linge
# ===== check whether kernel-source & kernel-version is ok

#include “$KERNELSRC/include/linux/version.h”

cepandant j’ai chercher ce fichier version.h dans tous les dossier
/usr/src/linux-source-2.6.22/include/
/usr/src/linux-headers-2.6.22-3-686/include/
/usr/src/linux-headers-2.6.22-3/include/
mais il est introuvable !!!

Dans le contenu du paquet linux-headers-2.6.22-3-686 listé à http://packages.debian.org/lenny/i386/linux-headers-2.6.22-3-686/filelist je vois bien /usr/src/linux-headers-2.6.22-3-686/include/linux/version.h

La question est plutôt où et comment est définie la variable $KERNELSRC.

Non, c’est une erreur classique du noyau, j’auras du y pensé plutôt, fais un touch

$ touch linux/version/usr/src/linux-headers-2.6.22-3-686/include/linux/version.h

et ça marchera.

[quote=“fran.b”]Non, c’est une erreur classique du noyau, j’auras du y pensé plutôt, fais un touch

$ touch linux/version/usr/src/linux-headers-2.6.22-3-686/include/linux/version.h

et ça marchera.[/quote]
merci mais il me dit que votre chemin n’existe pas

[quote=“xavi”]Dans le contenu du paquet linux-headers-2.6.22-3-686 listé à packages.debian.org/lenny/i386/l … 6/filelist je vois bien /usr/src/linux-headers-2.6.22-3-686/include/linux/version.h

La question est plutôt où et comment est définie la variable $KERNELSRC.[/quote]
j’ai télécharger ces pakages mais rien n’a changé meme si le fichier version.h se trouve vraiment

et est-ce que j’ai bien fai le lien

debian:/usr/src# ls -l total 44804 -rw-r--r-- 1 root root 192859 2005-03-30 12:19 eagle-usb.tar.gz lrwxrwxrwx 1 root root 35 2008-03-26 13:05 linux -> /usr/src/linux-headers-2.6.22-3-686 drwxr-xr-x 17 root root 4096 2008-03-26 12:57 linux-headers-2.6.22-3 drwxr-xr-x 4 root root 4096 2008-03-26 12:57 linux-headers-2.6.22-3-686 drwxr-xr-x 3 root root 4096 2008-03-26 12:57 linux-kbuild-2.6.22 lrwxrwxrwx 1 root root 26 2008-03-24 02:14 linux-OLDVERSION.1206481418 -> linux-headers-2.6.22-3-686 lrwxrwxrwx 1 root root 26 2008-03-26 13:01 linux-OLDVERSION.1206533151 -> linux-headers-2.6.22-3-686 drwxrwxrwx 19 xavi xavi 4096 2007-11-04 18:57 linux-source-2.6.22 -rwxrwxrwx 1 root root 45601899 2008-02-11 01:22 linux-source-2.6.22.tar.bz2 drwxr-xr-x 3 root src 4096 2005-03-30 12:19 modules drwxrwxrwx 7 root root 4096 2008-03-24 23:38 rpm

dans ce site coagul.org/article.php3?id_article=346 il y a quelque chose sur le headers et les variables d’environnement , ça peut m’aider ?

y a pas une solution les amis

[quote=“xavi”][quote=“fran.b”]Non, c’est une erreur classique du noyau, j’auras du y pensé plutôt, fais un touch

$ touch linux/version/usr/src/linux-headers-2.6.22-3-686/include/linux/version.h

et ça marchera.[/quote]
merci mais il me dit que votre chemin n’existe pas
[/quote]

touch /usr/src/linux-headers-2.6.22-3-686/include/linux/version.h

j’ai merdouillé mon copier/coller