#1 Le 05/12/2008, à 13:16
- benzoid555
aide pour compiler le module de tuxguardian
Bonjour,
Le forum "Internet & réseaux" comporte deja plusieur post sur le sujet sans apporter de reponse. C'est pourquoi je m'adresse a vous les spécialistes du developpement et de la compilation.
Le but : installer Tuxguardian sur intrepid
Le problème : impossible de compiler le module tuxg.ko
J'ai suivi le tutoriel : http://doc.ubuntu-fr.org/tuxguardian
j'ai copier config.h :
sudo mv /usr/src/linux-headers-`uname -r`/include/linux/configfs.h /usr/src/linux-headers-`uname -r`/include/linux/config.h
dans le fichie module/Makefiler , j'ai remplacer
ifeq ($(CORRECT_VERSION),yes)
all:
make -C /lib/modules/$(shell uname -r)/build/ SUBDIRS=$(shell pwd) modules
par
ifeq ($(CORRECT_VERSION),yes)
all:
make -C /lib/modules/$(shell uname -r)/build/ SUBDIRS=$(shell uname -r| pwd) modules
et j'obtient :
Compiling the module
------------------------------------------------
make[1]: Entering directory `/opt/tuxguardian/tuxguardian-0.5/module'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/tuxguardian/tuxguardian-0.5/module'
-e
Installing the module
------------------------------------------------
make[1]: Entering directory `/opt/tuxguardian/tuxguardian-0.5/module'
install: cannot stat `tuxg.ko': No such file or directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/opt/tuxguardian/tuxguardian-0.5/module'
make: *** [all] Error 2
root@ubuntu:/opt/tuxguardian/tuxguardian-0.5#
ah mon avis il make n'a pas compiler le module
make[1]: Nothing to be done for `all'.
avez vous une idée comment compiler ce module ?
est ce que la ligne suivante est correcte ?
make -C /lib/modules/$(shell uname -r)/build/ SUBDIRS=$(shell uname -r| pwd) modules
Je remercie d'avance ?
http://haefflerbenoit.free.Fr
Hors ligne
#2 Le 05/12/2008, à 13:36
- philou8237
Re : aide pour compiler le module de tuxguardian
Normalement, pour être propre et portable, il faut ça :
ifeq ($(KERNELRELEASE),)
# Remplacer par autre chose dans le cadre d'une cross-compilation
KERNELDIR ?= /lib/modules/$(shell uname -r)/build # native kernel build
KERNEL_ARCH = i386
#
PWD := $(shell pwd)
default : modules
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) ARCH=$(KERNEL_ARCH) modules $(EXTRA_CFLAGS)
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
else
[...]
endif
Tu as besoin du M= pour que ça marche. C'est ça qu'il te manque.
Hors ligne