Modsetver.h absent à compilation de zaptel

Fermé
longuele - 26 oct. 2007 à 12:13
ctiti60 Messages postés 1017 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 27 mai 2021 - 29 oct. 2007 à 09:33
Bonjour,
j'essaye de compiler le paquet zaptel afin d'utiliser ma carte jughanns avec asterisk sur un debian sarge depuis hier sans réponse. J'ai installé les prérequis demandés( kernel-headers, et crée le lien symbolique(linux-2.4 -> /lib/modules/versions-noyau/build).

Ci-dessous le message d'erreur que j'ai avec la commande make:

cc -I/lib/modules/2.4.27-2-386/build/include -O6 -DMODULE -D__KERNEL__ -DEXPORT_SYMTAB -I/lib/modules/2.4.27-2-386/build/drivers/net -Wall -I. -Wstrict-prototypes -fomit-frame-pointer -I/lib/modules/2.4.27-2-386/build/drivers/net/wan -I/lib/modules/2.4.27-2-386/build/include/net -DMODVERSIONS -include /lib/modules/2.4.27-2-386/build/include/linux/modversions.h -DSTANDALONE_ZAPATA -o zaptel-base.o -c zaptel-base.c
In file included from <command line>:1:
/lib/modules/2.4.27-2-386/build/include/linux/modversions.h:3:29: error: linux/modsetver.h: Aucun fichier ou répertoire de ce type
In file included from /usr/include/asm-generic/bitops/fls64.h:5,

from /usr/include/asm-i486/bitops.h:408,
from /usr/include/asm/bitops.h:8,
from /usr/include/linux/bitops.h:9,
from /usr/include/linux/kernel.h:15,
from zaptel-base.c:41:
/usr/include/asm-generic/bitops/fls.h:13: error: redefinition of 'fls'
/usr/include/asm-i486/bitops.h:394: error: previous definition of 'fls' was here
In file included from zaptel-base.c:41:
/usr/include/linux/kernel.h:98: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:98: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:105: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:105: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:106: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:106: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:107: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:107: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:108: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:108: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:111: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:111: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:113: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:113: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:114: error: expected declaration specifiers or '...' before 'size_t'
/usr/include/linux/kernel.h:115: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:115: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:116: error: expected declaration specifiers or '...' before 'size_t'
/usr/include/linux/kernel.h:117: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:117: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:118: error: expected declaration specifiers or '...' before 'size_t'
/usr/include/linux/kernel.h:119: error: format string argument not a string type
/usr/include/linux/kernel.h:120: error: expected declaration specifiers or '...' before 'size_t'
/usr/include/linux/kernel.h:126: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:126: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:128: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:128: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:130: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:130: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:131: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:131: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:132: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:132: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:139: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:139: error: conflicting types for '_set_ver'
/usr/include/linux/kernel.h:95: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:151: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:151: error: static declaration of '_set_ver' follows non-static declaration
/usr/include/linux/kernel.h:139: error: previous declaration of '_set_ver' was here
/usr/include/linux/kernel.h:152: error: '_set_ver' declared as function returning a function
/usr/include/linux/kernel.h:210: error: '_set_ver' declared as function returning a function
In file included from /usr/include/asm/system.h:8,
from /usr/include/asm-i486/processor.h:18,
from /usr/include/asm/processor.h:8,
from /usr/include/asm-i486/thread_info.h:16,
from /usr/include/asm/thread_info.h:8,
from /usr/include/linux/thread_info.h:21,
from /usr/include/linux/preempt.h:9,
from /usr/include/linux/spinlock.h:56,
from /usr/include/linux/capability.h:45,
from /usr/include/linux/sched.h:44,
from /usr/include/linux/module.h:9,
from zaptel-base.c:43:
/usr/include/asm-i486/system.h:468: error: '_set_ver' declared as function returning a function
/usr/include/asm-i486/system.h:469: error: '_set_ver' declared as function returning a function
/usr/include/asm-i486/system.h:486: error: '_set_ver' declared as function returning a function
In file included from /usr/include/asm/string.h:8,
from /usr/include/linux/string.h:21,
from /usr/include/linux/bitmap.h:8,
from /usr/include/linux/cpumask.h:86,
from /usr/include/asm-i486/processor.h:22,
from /usr/include/asm/processor.h:8,
from /usr/include/asm-i486/thread_info.h:16,
from /usr/include/asm/thread_info.h:8,
from /usr/include/linux/thread_info.h:21,
from /usr/include/linux/preempt.h:9,
from /usr/include/linux/spinlock.h:56,
from /usr/include/linux/capability.h:45,
from /usr/include/linux/sched.h:44,
from /usr/include/linux/module.h:9,

J'ai vérifier dans le répertoire /lib/modules/2.4.27-2-386/build/include/linux/ et les fichiers modversions.h, modsetver.h existent bien.


Merci de m'aider

8 réponses

ctiti60 Messages postés 1017 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 27 mai 2021 70
26 oct. 2007 à 12:19
Salut,

Je ne vois pas d'include du chemin : /lib/modules/2.4.27-2-386/build/include (-I/lib/modules/2.4.27-2-386/build/include)
dans la ligne de commande.
0
Bonjour ctiti60!

je n'ai pas compris votre rémarque pourriez vous être plus explicite. Jusquelà rien ne marche.

merci
0
ctiti60 Messages postés 1017 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 27 mai 2021 70
26 oct. 2007 à 15:42
Pour compiler, le compilateur utilise la ligne de commande suivante:

cc -I/lib/modules/2.4.27-2-386/build/include -O6 -DMODULE -D__KERNEL__ -DEXPORT_SYMTAB -I/lib/modules/2.4.27-2-386/build/drivers/net -Wall -I. -Wstrict-prototypes -fomit-frame-pointer -I/lib/modules/2.4.27-2-386/build/drivers/net/wan -I/lib/modules/2.4.27-2-386/build/include/net -DMODVERSIONS -include /lib/modules/2.4.27-2-386/build/include/linux/modversions.h -DSTANDALONE_ZAPATA -o zaptel-base.o -c zaptel-base.c

Les directives de type -ITHE_DIR indique qu'il va rechercher les fichiers includes dans le répertoire THE_DIR (en plus de ceux que tu as dans la variable d'environnement INCLUDE). Là, ton compilateur dit qu'il ne trouve pas le fichier : linux/modsetver.h.
Pour lui, aucun des chemins donnés en paramètre ne contient ce fichier. Effectivement, il se trouve dans le répertoire :
/lib/modules/2.4.27-2-386/build/include (et non /lib/modules/2.4.27-2-386/build/include/linux puisque le compilateur ajoute linux/modsetver.h au répertoire => ce qui ferait : /lib/modules/2.4.27-2-386/build/include/linux /linux/modsetver.h).

Soit vous pouvez changer la ligne de commande et ajouter -I/lib/modules/2.4.27-2-386/build/include soit il faut changer la variable d'environnement contenant les includes (INCLUDE sous unix ? J'en suis plus trop sûr --> faire un printenv ou un set).
0
Bonjour,

Merci pour ton explication qui vient de m'ouvrir les yeux. Je vous donne la suite dans un instant.

A tout à l'heure
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

Je trouve pas malheuresement un moyen de modifier la commande: je sais pas où le trouver. Avec printenv je ne le vois pas.

J'ai essayé de créer ce lien symbolique :


Mais rien toujours.

Merci de m'indoquer dans quel fichier on peut modifier la commande qu'exécute make

Voici lune partie du contenu de makefile:

#
# Makefile for Zaptel driver modules and utilities
#
# Copyright (C) 2001-2007 Digium, Inc.
#
#

CFLAGS+=-DSTANDALONE_ZAPATA -DBUILDING_TONEZONE

ifeq ($(MAKELEVEL),0)
PWD:=$(shell pwd)
endif

ARCH:=$(shell uname -m | sed -e s/i.86/i386/)

# If you want to build for a kernel other than the current kernel, set KVERS
ifndef KVERS
KVERS:=$(shell uname -r)
endif
ifndef KSRC
ifneq (,$(wildcard /lib/modules/$(KVERS)/build))
KSRC:=/lib/modules/$(KVERS)/build
else
KSRC_SEARCH_PATH:=/usr/src/linux-2.4 /usr/src/linux
KSRC:=$(shell for dir in $(KSRC_SEARCH_PATH); do if [ -d $$dir ]; then echo $$dir; break; fi; done)
endif
endif
KINCLUDES:=$(KSRC)/include

ifeq (2.6,$(shell echo $(KVERS) | cut -d. -f1-2))
BUILDVER:=linux26
else
BUILDVER:=linux24
endif

# Set HOTPLUG_FIRMWARE=no to override automatic building with hotplug support
# if it is enabled in the kernel.
ifeq ($(BUILDVER),linux26)
ifneq (,$(wildcard $(INSTALL_PREFIX)/etc/udev/rules.d))
DYNFS=yes
UDEVRULES=yes
endif
HOTPLUG_FIRMWARE:=$(shell if grep CONFIG_FW_LOADER $(KINCLUDES)/linux/autoconf.h | grep -q undef; then echo "no"; else echo

# Set HOTPLUG_FIRMWARE=no to override automatic building with hotplug support
# if it is enabled in the kernel.
ifeq ($(BUILDVER),linux26)
ifneq (,$(wildcard $(INSTALL_PREFIX)/etc/udev/rules.d))
DYNFS=yes
UDEVRULES=yes
endif
HOTPLUG_FIRMWARE:=$(shell if grep CONFIG_FW_LOADER $(KINCLUDES)/linux/autoconf.h | grep -q undef; then echo "no"; else echo
"yes"; fi)
else
# Hotplug firmware loading is not supported on any other version then 2.6
HOTPLUG_FIRMWARE:=no
endif

ifeq ($(HOTPLUG_FIRMWARE),yes)
CFLAGS+=-DHOTPLUG_FIRMWARE
endif

MODULES:=zaptel tor2 torisa wcusb wcfxo wctdm wctdm24xxp \
ztdynamic ztd-eth wct1xxp wcte11xp pciradio \
ztd-loc wcte12xp # ztdummy
#MODULES+=wcfxsusb
ifeq ($(BUILDVER),linux26)
MODULES+=ztdummy zttranscode
endif
MODULE_ALIASES=wcfxs wctdm8xxp wct2xxp

MODULESO:=$(MODULES:%=%.o)
MODULESKO:=$(MODULES:%=%.ko)

# add this later, so it doesn't become part of MODULESO/MODULESKO
MODULES+=wct4xxp wctc4xxp

ifeq ($(ARCH),i386)
ifneq ($(wildcard $(PWD)/hpec/hpec_x86_32.o_shipped),)
HPEC_PRESENT=yes
endif
endif

ifeq ($(ARCH),x86_64)
ifneq ($(wildcard $(PWD)/hpec/hpec_x86_64.o_shipped),)
HPEC_PRESENT=yes


Merci pour l'aide
0
Bonjour,

Je trouve pas malheuresement un moyen de modifier la commande: je sais pas où le trouver. Avec printenv je ne le vois pas.

J'ai essayé de créer ce lien symbolique :


Mais rien toujours.

Merci de m'indoquer dans quel fichier on peut modifier la commande qu'exécute make

Voici lune partie du contenu de makefile:

#
# Makefile for Zaptel driver modules and utilities
#
# Copyright (C) 2001-2007 Digium, Inc.
#
#

CFLAGS+=-DSTANDALONE_ZAPATA -DBUILDING_TONEZONE

ifeq ($(MAKELEVEL),0)
PWD:=$(shell pwd)
endif

ARCH:=$(shell uname -m | sed -e s/i.86/i386/)

# If you want to build for a kernel other than the current kernel, set KVERS
ifndef KVERS
KVERS:=$(shell uname -r)
endif
ifndef KSRC
ifneq (,$(wildcard /lib/modules/$(KVERS)/build))
KSRC:=/lib/modules/$(KVERS)/build
else
KSRC_SEARCH_PATH:=/usr/src/linux-2.4 /usr/src/linux
KSRC:=$(shell for dir in $(KSRC_SEARCH_PATH); do if [ -d $$dir ]; then echo $$dir; break; fi; done)
endif
endif
KINCLUDES:=$(KSRC)/include

ifeq (2.6,$(shell echo $(KVERS) | cut -d. -f1-2))
BUILDVER:=linux26
else
BUILDVER:=linux24
endif

# Set HOTPLUG_FIRMWARE=no to override automatic building with hotplug support
# if it is enabled in the kernel.
ifeq ($(BUILDVER),linux26)
ifneq (,$(wildcard $(INSTALL_PREFIX)/etc/udev/rules.d))
DYNFS=yes
UDEVRULES=yes
endif
HOTPLUG_FIRMWARE:=$(shell if grep CONFIG_FW_LOADER $(KINCLUDES)/linux/autoconf.h | grep -q undef; then echo "no"; else echo

# Set HOTPLUG_FIRMWARE=no to override automatic building with hotplug support
# if it is enabled in the kernel.
ifeq ($(BUILDVER),linux26)
ifneq (,$(wildcard $(INSTALL_PREFIX)/etc/udev/rules.d))
DYNFS=yes
UDEVRULES=yes
endif
HOTPLUG_FIRMWARE:=$(shell if grep CONFIG_FW_LOADER $(KINCLUDES)/linux/autoconf.h | grep -q undef; then echo "no"; else echo
"yes"; fi)
else
# Hotplug firmware loading is not supported on any other version then 2.6
HOTPLUG_FIRMWARE:=no
endif

ifeq ($(HOTPLUG_FIRMWARE),yes)
CFLAGS+=-DHOTPLUG_FIRMWARE
endif

MODULES:=zaptel tor2 torisa wcusb wcfxo wctdm wctdm24xxp \
ztdynamic ztd-eth wct1xxp wcte11xp pciradio \
ztd-loc wcte12xp # ztdummy
#MODULES+=wcfxsusb
ifeq ($(BUILDVER),linux26)
MODULES+=ztdummy zttranscode
endif
MODULE_ALIASES=wcfxs wctdm8xxp wct2xxp

MODULESO:=$(MODULES:%=%.o)
MODULESKO:=$(MODULES:%=%.ko)

# add this later, so it doesn't become part of MODULESO/MODULESKO
MODULES+=wct4xxp wctc4xxp

ifeq ($(ARCH),i386)
ifneq ($(wildcard $(PWD)/hpec/hpec_x86_32.o_shipped),)
HPEC_PRESENT=yes
endif
endif

ifeq ($(ARCH),x86_64)
ifneq ($(wildcard $(PWD)/hpec/hpec_x86_64.o_shipped),)
HPEC_PRESENT=yes


Merci pour l'aide
0
Bonjour,
Je me sens un peu abondoné.

Merci de me vénir en aide
0
ctiti60 Messages postés 1017 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 27 mai 2021 70
29 oct. 2007 à 09:33
Salut,

Essaye cela dans le Makefile :

CFLAGS+=-DSTANDALONE_ZAPATA -DBUILDING_TONEZONE -I/lib/modules/2.4.27-2-386/build/include
0