Modsetver.h absent à compilation de zaptel

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
Configuration: Windows XP
Firefox 2.0.0.8

8 réponses

  1. 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
    1. Bonjour ctiti60!

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

      merci
      0
      1. 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
        1. 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
          1. 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
            1. 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
              1. Bonjour,
                Je me sens un peu abondoné.

                Merci de me vénir en aide
                0
                1. Salut,

                  Essaye cela dans le Makefile :

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