Debian : Erreur lors de la compilation d'un nouveau module.
6 réponses
Adrien Caillot
Bonjour,
J'ai une Sarge avec un noyau 2.4.27-2-386 et je voudrais faire
fonctionner un lecteur Iomega Rev sans devoir changer / compiler le noyau.
D'après cette page : http://iomrrdtools.sourceforge.net/#2.4.x , il
suffit d'appliquer un patch pour que cela fonctionne.
J'ai essayé d'exécuter le ./install mais cela ne fonctionne pas, alors
je tente les différentes étapes à la main, comme dans expliqué dans le
README.
Au moment de compiler le module rev, j'obtiens des erreurs :
------------
serveur#1:~/linux_2.4_rev_installer-beta-0.0.1/rev-0.0.1$ make
gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -O2 -DMODULE
-D__KERNEL__
-DSTOCK_KERNEL -isystem /lib/modules/`uname -r`//build/include -isystem
/lib/modules/`uname -r`//build/drivers -c -o rev_core.o rev_core.c
In file included from /usr/include/asm/system.h:5,
from /usr/include/asm/processor.h:18,
from /usr/include/asm/thread_info.h:13,
from /usr/include/linux/thread_info.h:21,
from /usr/include/linux/spinlock.h:19,
from /usr/include/linux/capability.h:45,
from /usr/include/linux/sched.h:7,
from /usr/include/linux/module.h:10,
from rev_core.c:23:
/usr/include/linux/kernel.h:72: error: syntax error before "size_t"
/usr/include/linux/kernel.h:74: error: syntax error before "size_t"
[...]
/usr/include/linux/time.h: In function `timespec_to_jiffies':
/usr/include/linux/time.h:198: error: dereferencing pointer to
incomplete type
/usr/include/linux/time.h:199: error: dereferencing pointer to
incomplete type
[...]
/usr/include/asm/mpspec.h:20: error: conflicting types for
`mp_bus_id_to_type'
/usr/include/asm/mpspec.h:8: error: previous declaration of
`mp_bus_id_to_type'
/usr/include/asm/mpspec.h:22: error: `MAX_IRQ_SOURCES' undeclared here
(not in a function)
/usr/include/asm/mpspec.h:24: error: `MAX_MP_BUSSES' undeclared here
(not in a function)
[...]
-----------------
Je n'ai pas tout recopié mais seulement quelques exemples
représentatifs. Je suppose que j'ai un problème avec des fichiers .h
mauvais, mais je n'ai pas d'idée précise et google n'a pas envie
d'être mon ami sur ce coup...
Le README précise ça aussi :
------------
Note that the Makefile may need to be changed for your system. Most
common changes include such things as adding the compiler switch
"-mcmodel=kernel" to the CFLAGS macro, including "-isystem
/usr/src/linux/drivers" to the INCLUDE macro or changing the linker
emulation from elf_i386 to one more appropriate for your system.
------------
Je ne sais pas si ça peut être lié mais j'avoue que je ne comprends pas
vraiment ce paragraphe.
Merci de m'aider si vous avez des idées, ou de me dire si je dois poster
d'autres informations qui pourraient être utiles.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
l'indien
On Fri, 01 Jul 2005 12:12:10 +0200, Adrien Caillot wrote:
Bonjour,
J'ai une Sarge avec un noyau 2.4.27-2-386 et je voudrais faire fonctionner un lecteur Iomega Rev sans devoir changer / compiler le noyau.
D'après cette page : http://iomrrdtools.sourceforge.net/#2.4.x , il suffit d'appliquer un patch pour que cela fonctionne.
J'ai essayé d'exécuter le ./install mais cela ne fonctionne pas, alors je tente les différentes étapes à la main, comme dans expliqué dans le README.
Au moment de compiler le module rev, j'obtiens des erreurs :
------------
serveur#1:~/linux_2.4_rev_installer-beta-0.0.1/rev-0.0.1$ make gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -O2 -DMODULE -D__KERNEL__ -DSTOCK_KERNEL -isystem /lib/modules/`uname -r`//build/include -isystem /lib/modules/`uname -r`//build/drivers -c -o rev_core.o rev_core.c In file included from /usr/include/asm/system.h:5, from /usr/include/asm/processor.h:18, from /usr/include/asm/thread_info.h:13, from /usr/include/linux/thread_info.h:21, from /usr/include/linux/spinlock.h:19, from /usr/include/linux/capability.h:45, from /usr/include/linux/sched.h:7, from /usr/include/linux/module.h:10, from rev_core.c:23: /usr/include/linux/kernel.h:72: error: syntax error before "size_t" /usr/include/linux/kernel.h:74: error: syntax error before "size_t"
Y-a-t'il bien un "#include <linux/config.h>" et un "#include <linux/kernel.h>" avant le "#include <linux/modules.h>" ? Je parierai que non...
[...]
On Fri, 01 Jul 2005 12:12:10 +0200, Adrien Caillot wrote:
Bonjour,
J'ai une Sarge avec un noyau 2.4.27-2-386 et je voudrais faire
fonctionner un lecteur Iomega Rev sans devoir changer / compiler le noyau.
D'après cette page : http://iomrrdtools.sourceforge.net/#2.4.x , il
suffit d'appliquer un patch pour que cela fonctionne.
J'ai essayé d'exécuter le ./install mais cela ne fonctionne pas, alors
je tente les différentes étapes à la main, comme dans expliqué dans le
README.
Au moment de compiler le module rev, j'obtiens des erreurs :
------------
serveur#1:~/linux_2.4_rev_installer-beta-0.0.1/rev-0.0.1$ make
gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -O2 -DMODULE
-D__KERNEL__
-DSTOCK_KERNEL -isystem /lib/modules/`uname -r`//build/include -isystem
/lib/modules/`uname -r`//build/drivers -c -o rev_core.o rev_core.c
In file included from /usr/include/asm/system.h:5,
from /usr/include/asm/processor.h:18,
from /usr/include/asm/thread_info.h:13,
from /usr/include/linux/thread_info.h:21,
from /usr/include/linux/spinlock.h:19,
from /usr/include/linux/capability.h:45,
from /usr/include/linux/sched.h:7,
from /usr/include/linux/module.h:10,
from rev_core.c:23:
/usr/include/linux/kernel.h:72: error: syntax error before "size_t"
/usr/include/linux/kernel.h:74: error: syntax error before "size_t"
Y-a-t'il bien un "#include <linux/config.h>" et un
"#include <linux/kernel.h>" avant le "#include <linux/modules.h>" ?
Je parierai que non...
On Fri, 01 Jul 2005 12:12:10 +0200, Adrien Caillot wrote:
Bonjour,
J'ai une Sarge avec un noyau 2.4.27-2-386 et je voudrais faire fonctionner un lecteur Iomega Rev sans devoir changer / compiler le noyau.
D'après cette page : http://iomrrdtools.sourceforge.net/#2.4.x , il suffit d'appliquer un patch pour que cela fonctionne.
J'ai essayé d'exécuter le ./install mais cela ne fonctionne pas, alors je tente les différentes étapes à la main, comme dans expliqué dans le README.
Au moment de compiler le module rev, j'obtiens des erreurs :
------------
serveur#1:~/linux_2.4_rev_installer-beta-0.0.1/rev-0.0.1$ make gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -O2 -DMODULE -D__KERNEL__ -DSTOCK_KERNEL -isystem /lib/modules/`uname -r`//build/include -isystem /lib/modules/`uname -r`//build/drivers -c -o rev_core.o rev_core.c In file included from /usr/include/asm/system.h:5, from /usr/include/asm/processor.h:18, from /usr/include/asm/thread_info.h:13, from /usr/include/linux/thread_info.h:21, from /usr/include/linux/spinlock.h:19, from /usr/include/linux/capability.h:45, from /usr/include/linux/sched.h:7, from /usr/include/linux/module.h:10, from rev_core.c:23: /usr/include/linux/kernel.h:72: error: syntax error before "size_t" /usr/include/linux/kernel.h:74: error: syntax error before "size_t"
Y-a-t'il bien un "#include <linux/config.h>" et un "#include <linux/kernel.h>" avant le "#include <linux/modules.h>" ? Je parierai que non...
[...]
Adrien Caillot
l'indien wrote:
Y-a-t'il bien un "#include <linux/config.h>"
Non.
et un "#include <linux/kernel.h>" avant le "#include <linux/modules.h>" ?
Il y est mais après le #include <linux/kernel.h>. Ils devraient être là ?
On m'a fait remarquer à juste titre qu'il me manquait le paquet kernel-headers-2.4.27-2-386. Maintenant, j'ai les erreurs suivantes :
--------------------
serveur#4:~/linux_2.4_rev_installer-beta-0.0.1/rev-0.0.1$ make gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -O2 -DMODULE -D__KERNEL__ -DSTOCK_KERNEL -isystem /lib/modules/2.4.27-2-386/build/include -isystem /lib/modules/2.4.27-2-386/build/drivers -c -o rev_core.o rev_core.c rev_core.c:31:21: scsi/sr.h: No such file or directory rev_core.c:32:24: scsi/hosts.h: No such file or directory /lib/modules/2.4.27-2-386/build/include/asm/processor.h: In function `copy_segments': /lib/modules/2.4.27-2-386/build/include/asm/processor.h:433: warning: unused parameter `p' /lib/modules/2.4.27-2-386/build/include/asm/processor.h:433: warning: unused parameter `mm'
----------------------
Je vais chercher la cause de ces "No such file or directory". Bien sûr, si vous avez des idées, n'hésitez pas. :)
l'indien wrote:
Y-a-t'il bien un "#include <linux/config.h>"
Non.
et un
"#include <linux/kernel.h>" avant le "#include <linux/modules.h>" ?
Il y est mais après le #include <linux/kernel.h>.
Ils devraient être là ?
On m'a fait remarquer à juste titre qu'il me manquait le paquet
kernel-headers-2.4.27-2-386. Maintenant, j'ai les erreurs suivantes :
--------------------
serveur#4:~/linux_2.4_rev_installer-beta-0.0.1/rev-0.0.1$ make
gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -O2 -DMODULE
-D__KERNEL__ -DSTOCK_KERNEL -isystem
/lib/modules/2.4.27-2-386/build/include -isystem
/lib/modules/2.4.27-2-386/build/drivers -c -o rev_core.o rev_core.c
rev_core.c:31:21: scsi/sr.h: No such file or directory
rev_core.c:32:24: scsi/hosts.h: No such file or directory
/lib/modules/2.4.27-2-386/build/include/asm/processor.h: In function
`copy_segments':
/lib/modules/2.4.27-2-386/build/include/asm/processor.h:433: warning:
unused parameter `p'
/lib/modules/2.4.27-2-386/build/include/asm/processor.h:433: warning:
unused parameter `mm'
----------------------
Je vais chercher la cause de ces "No such file or directory". Bien sûr,
si vous avez des idées, n'hésitez pas. :)
et un "#include <linux/kernel.h>" avant le "#include <linux/modules.h>" ?
Il y est mais après le #include <linux/kernel.h>. Ils devraient être là ?
On m'a fait remarquer à juste titre qu'il me manquait le paquet kernel-headers-2.4.27-2-386. Maintenant, j'ai les erreurs suivantes :
--------------------
serveur#4:~/linux_2.4_rev_installer-beta-0.0.1/rev-0.0.1$ make gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -O2 -DMODULE -D__KERNEL__ -DSTOCK_KERNEL -isystem /lib/modules/2.4.27-2-386/build/include -isystem /lib/modules/2.4.27-2-386/build/drivers -c -o rev_core.o rev_core.c rev_core.c:31:21: scsi/sr.h: No such file or directory rev_core.c:32:24: scsi/hosts.h: No such file or directory /lib/modules/2.4.27-2-386/build/include/asm/processor.h: In function `copy_segments': /lib/modules/2.4.27-2-386/build/include/asm/processor.h:433: warning: unused parameter `p' /lib/modules/2.4.27-2-386/build/include/asm/processor.h:433: warning: unused parameter `mm'
----------------------
Je vais chercher la cause de ces "No such file or directory". Bien sûr, si vous avez des idées, n'hésitez pas. :)
Rakotomandimby (R12y) Mihamina
Adrien Caillot :
Je vais chercher la cause de ces "No such file or directory"
Fais un 'find' d'abord pour voir si il existe vraiment ou pas, et pour savoir ou est-il.
-- Miroir de logiciels libres http://www.etud-orleans.fr Développement de logiciels libres http://aspo.rktmb.org/activites/developpement Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance (En louant les services de l'ASPO vous luttez contre la fracture numerique)
Adrien Caillot <yokaunix@free.fr> :
Je vais chercher la cause de ces "No such file or directory"
Fais un 'find' d'abord pour voir si il existe vraiment ou pas, et pour
savoir ou est-il.
--
Miroir de logiciels libres http://www.etud-orleans.fr
Développement de logiciels libres http://aspo.rktmb.org/activites/developpement
Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)
Je vais chercher la cause de ces "No such file or directory"
Fais un 'find' d'abord pour voir si il existe vraiment ou pas, et pour savoir ou est-il.
-- Miroir de logiciels libres http://www.etud-orleans.fr Développement de logiciels libres http://aspo.rktmb.org/activites/developpement Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance (En louant les services de l'ASPO vous luttez contre la fracture numerique)
Adrien Caillot
Rakotomandimby (R12y) Mihamina wrote:
Fais un 'find' d'abord pour voir si il existe vraiment ou pas, et pour savoir ou est-il.
Je venais de le faire quand j'ai lu ton message. :)
find ne trouve aucun host.h, mais par contre il trouve ça :
Et dans le fichier rev_core.c que j'essaie de compiler je vois :
#include <scsi/sr.h> #include <scsi/hosts.h>
Rakotomandimby (R12y) Mihamina
Adrien Caillot :
find ne trouve aucun host.h, mais par contre il trouve ça : /usr/src/kernel-source-2.4.27/include/scsi/scsi_host.h /usr/src/kernel-headers-2.4.27-2/include/scsi/scsi_host.h
Tiens! kernel-sources ne contient pas les headers? il me semble que si. Si tu as kernel-sources d'installé, tu peux virer kernel-headers.
Il trouve aussi ça : /usr/src/kernel-source-2.4.27/drivers/scsi/sr.h Et dans le fichier rev_core.c que j'essaie de compiler je vois : #include <scsi/sr.h> #include <scsi/hosts.h>
Donc, _pour moi_ la chose à faire c'est cd modifier la deuxième ligne, faire un patch (et le commenter surtout), parcourir le "bugtracker" du logiciel que tu veux installer (pour voir si ce sujet n'a pas déjà été traité), et proposer le patch. Ca sera ta contribution aux logiciels libres. :)
-- Miroir de logiciels libres http://www.etud-orleans.fr Développement de logiciels libres http://aspo.rktmb.org/activites/developpement Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance (En louant les services de l'ASPO vous luttez contre la fracture numerique)
Adrien Caillot <yokaunix@free.fr> :
find ne trouve aucun host.h, mais par contre il trouve ça :
/usr/src/kernel-source-2.4.27/include/scsi/scsi_host.h
/usr/src/kernel-headers-2.4.27-2/include/scsi/scsi_host.h
Tiens! kernel-sources ne contient pas les headers? il me semble que si.
Si tu as kernel-sources d'installé, tu peux virer kernel-headers.
Il trouve aussi ça :
/usr/src/kernel-source-2.4.27/drivers/scsi/sr.h
Et dans le fichier rev_core.c que j'essaie de compiler je vois :
#include <scsi/sr.h>
#include <scsi/hosts.h>
Donc, _pour moi_ la chose à faire c'est cd modifier la deuxième ligne,
faire un patch (et le commenter surtout), parcourir le "bugtracker" du
logiciel que tu veux installer (pour voir si ce sujet n'a pas déjà été
traité), et proposer le patch. Ca sera ta contribution aux logiciels
libres. :)
--
Miroir de logiciels libres http://www.etud-orleans.fr
Développement de logiciels libres http://aspo.rktmb.org/activites/developpement
Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)
find ne trouve aucun host.h, mais par contre il trouve ça : /usr/src/kernel-source-2.4.27/include/scsi/scsi_host.h /usr/src/kernel-headers-2.4.27-2/include/scsi/scsi_host.h
Tiens! kernel-sources ne contient pas les headers? il me semble que si. Si tu as kernel-sources d'installé, tu peux virer kernel-headers.
Il trouve aussi ça : /usr/src/kernel-source-2.4.27/drivers/scsi/sr.h Et dans le fichier rev_core.c que j'essaie de compiler je vois : #include <scsi/sr.h> #include <scsi/hosts.h>
Donc, _pour moi_ la chose à faire c'est cd modifier la deuxième ligne, faire un patch (et le commenter surtout), parcourir le "bugtracker" du logiciel que tu veux installer (pour voir si ce sujet n'a pas déjà été traité), et proposer le patch. Ca sera ta contribution aux logiciels libres. :)
-- Miroir de logiciels libres http://www.etud-orleans.fr Développement de logiciels libres http://aspo.rktmb.org/activites/developpement Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance (En louant les services de l'ASPO vous luttez contre la fracture numerique)
Adrien Caillot
Rakotomandimby (R12y) Mihamina wrote:
Tiens! kernel-sources ne contient pas les headers? il me semble que si. Si tu as kernel-sources d'installé, tu peux virer kernel-headers.
C'est ce qu'il me semblait avoir lu et c'est pour ça que je ne l'avais pas mis à la base, mais pourtant ça a marché avec alors que ça ne marchait pas sans.
Donc, _pour moi_ la chose à faire c'est cd modifier la deuxième ligne, faire un patch (et le commenter surtout), parcourir le "bugtracker" du logiciel que tu veux installer (pour voir si ce sujet n'a pas déjà été traité), et proposer le patch. Ca sera ta contribution aux logiciels libres. :)
En fait ça ne sera pas nécessaire. J'ai édité le Makefile pour ajouter -isystem /usr/src/linux/drivers dans la variable INCLUDE, comme conseillé dans le README, et ça a marché (je précise que j'avais déjà tenté ça avant d'installer kernel-headers et ça ne marchait pas.
Ensuite j'ai compilé... j'ai reçu un nombre de warnings assez important mais au final, echo $? m'a répondu 0. Ensuite, le make, make install, et la suite des opérations se sont bien passées, je peux maintenant écrire sur mon REV, ce qui est plutôt bien pour un périphérique de sauvegardes... :)
Ma contribution aux logiciels libres va plutôt consister à écrire un HowTo sur le fonctionnement du Iomega Rev sous Debian avec un noyau 2.4.27-2-386.
Merci à tous ceux qui m'ont aidé.
Rakotomandimby (R12y) Mihamina wrote:
Tiens! kernel-sources ne contient pas les headers? il me semble que si.
Si tu as kernel-sources d'installé, tu peux virer kernel-headers.
C'est ce qu'il me semblait avoir lu et c'est pour ça que je ne l'avais
pas mis à la base, mais pourtant ça a marché avec alors que ça ne
marchait pas sans.
Donc, _pour moi_ la chose à faire c'est cd modifier la deuxième ligne,
faire un patch (et le commenter surtout), parcourir le "bugtracker" du
logiciel que tu veux installer (pour voir si ce sujet n'a pas déjà été
traité), et proposer le patch. Ca sera ta contribution aux logiciels
libres. :)
En fait ça ne sera pas nécessaire. J'ai édité le Makefile pour ajouter
-isystem /usr/src/linux/drivers dans la variable INCLUDE, comme
conseillé dans le README, et ça a marché (je précise que j'avais déjà
tenté ça avant d'installer kernel-headers et ça ne marchait pas.
Ensuite j'ai compilé... j'ai reçu un nombre de warnings assez important
mais au final, echo $? m'a répondu 0. Ensuite, le make, make install, et
la suite des opérations se sont bien passées, je peux maintenant écrire
sur mon REV, ce qui est plutôt bien pour un périphérique de
sauvegardes... :)
Ma contribution aux logiciels libres va plutôt consister à écrire un
HowTo sur le fonctionnement du Iomega Rev sous Debian avec un noyau
2.4.27-2-386.
Tiens! kernel-sources ne contient pas les headers? il me semble que si. Si tu as kernel-sources d'installé, tu peux virer kernel-headers.
C'est ce qu'il me semblait avoir lu et c'est pour ça que je ne l'avais pas mis à la base, mais pourtant ça a marché avec alors que ça ne marchait pas sans.
Donc, _pour moi_ la chose à faire c'est cd modifier la deuxième ligne, faire un patch (et le commenter surtout), parcourir le "bugtracker" du logiciel que tu veux installer (pour voir si ce sujet n'a pas déjà été traité), et proposer le patch. Ca sera ta contribution aux logiciels libres. :)
En fait ça ne sera pas nécessaire. J'ai édité le Makefile pour ajouter -isystem /usr/src/linux/drivers dans la variable INCLUDE, comme conseillé dans le README, et ça a marché (je précise que j'avais déjà tenté ça avant d'installer kernel-headers et ça ne marchait pas.
Ensuite j'ai compilé... j'ai reçu un nombre de warnings assez important mais au final, echo $? m'a répondu 0. Ensuite, le make, make install, et la suite des opérations se sont bien passées, je peux maintenant écrire sur mon REV, ce qui est plutôt bien pour un périphérique de sauvegardes... :)
Ma contribution aux logiciels libres va plutôt consister à écrire un HowTo sur le fonctionnement du Iomega Rev sous Debian avec un noyau 2.4.27-2-386.