Treiber kann nicht installiert/kompilliert werden

debianneuling

debianneuling

Grünschnabel
Hallo,
ich hoffe jemand da draußen kann, mir bei diesem Problem weiterhelfen.
Und zwar möchte ich eine addi-data Digital-Output-Karte (apci 2032) installieren bzw. den Treiber, aber nachdem ich die Anweisungen der README ordnungsgemäß durchgeführt habe, erhalte ich trotzdem folgenden Fehlercode:
debian:/usr/src/linux/drivers/addidata/apci2032_ioctl# make -f _makefile 2.6
make SUBDIRS=/usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl CONFIG_APCI2032_IOCTL=m ADDIDATAINC=/usr/src/kernel-source-2.6.8/include/linux/addidata/ -C /usr/src/kernel-source-2.6.8/ modules
make[1]: Entering directory `/usr/src/kernel-source-2.6.8'
CC [M] /usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/main.o
In Datei, eingefügt von /usr/src/kernel-source-2.6.8/include/linux/addidata/apci2032.h:45,
von /usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/apci2032-private.h:44,
von /usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/main.c:28:
/usr/src/kernel-source-2.6.8/include/linux/addidata/apci.h:359:1: Warnung: »MOD_INC_USE_COUNT« redefiniert
In Datei, eingefügt von /usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/apci2032-private.h:38,
von /usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/main.c:28:
include/linux/module.h:571:1: Warnung: dies ist die Stelle der vorherigen Definition
In Datei, eingefügt von /usr/src/kernel-source-2.6.8/include/linux/addidata/apci2032.h:45,
von /usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/apci2032-private.h:44,
von /usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/main.c:28:
/usr/src/kernel-source-2.6.8/include/linux/addidata/apci.h:360:1: Warnung: »MOD_DEC_USE_COUNT« redefiniert
In Datei, eingefügt von /usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/apci2032-private.h:38,
von /usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/main.c:28:
include/linux/module.h:572:1: Warnung: dies ist die Stelle der vorherigen Definition
In file included from /usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/main.c:28:
/usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/apci2032-private.h:174: error: Fehler beim Parsen before "apci2032_do_interrupt"
/usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/apci2032-private.h:174: Warnung: type defaults to `int' in declaration of `apci2032_do_interrupt'
/usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/apci2032-private.h:174: Warnung: data definition has no type or storage class
make[2]: *** [/usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/main.o] Fehler 1
make[1]: *** [_module_/usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl] Fehler 2
make[1]: Leaving directory `/usr/src/kernel-source-2.6.8'
make: *** [apci2032.o] Fehler 2
debian:/usr/src/linux/drivers/addidata/apci2032_ioctl#

meine debianversion ist die 2.6.8
ich freue mich über jede hilfe
 
Vielleicht koenntest Du noch erwaehnen, wo man besagte Quellen herbekommt (im Vanilla-Kernel sehe ich nichts), oder Du schickst mal die Zeilen um Zeile 174 der Datei apci2032-private.h, damit wir mal reingucken koennen.
 
Ich tippe mal blind:

Evtl. hast du eine neuere gcc-4.x Version installiert, die wesentlich strikter als die alte version ist. Das ist im Prinzip auch gut so (etc... )
Du kannst mal ein bisschen im Makefile rumpfuschen, indem du mal nach "-pedantic" suchst und das löschst. Dann bricht er nicht mehr bei Warnungen etc. ab.
Besser ist es natürlich, wenn du versiert genug bist, das Problem zu korrigieren.
Auch möchte ich das nicht generell empfehlen, nur wenn du dem Quellcode "vertraust" oder keine Wahl hast.

Alle Pfusch Dateien natürlich vorher sichern
 
Debian 2.6.8 gibt es Nicht. Entweder Sarge Etch oder Sid.
 
Das Problem liegt hier:
Code:
/usr/src/kernel-source-2.6.8/drivers/addidata/apci2032_ioctl/apci2032-private.h:174: error: Fehler beim Parsen before "apci2032_do_interrupt"
Ich denke mal, dass man hier ohne Programmierkenntnisse nicht weiter kommen wird, denn ich tippe hier mal auf einen Programmierfehler.
 
Also die Quellen (APCI-2032 Linux - Treiber) sind direkt von Addi-Data aus dem Netz. Gut zur meiner Debianversion, die ist von Sarge und meine kernelversion ist die 2.6.8er.
Hier sind jetzt mal die die Programmzeilen der apci2032-private.h -Datei, wo der Fehler auftreten soll.

/* interrupt */
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) /* 2.4 */
void apci2032_do_interrupt(int irq, void * dev_id, struct pt_regs *regs);
#else /* 2.6 */
irqreturn_t apci2032_do_interrupt(int irq, void * dev_id, struct pt_regs *regs);
#endif

Im anhang ist auch gleich mal die ganze header-datei zu finden.
 

Anhänge

  • apci2032-private.h.txt
    6,2 KB · Aufrufe: 2
Zuletzt bearbeitet:
Ich habe aber auch schon gehabt das Programme gesponnen haben wenn man UTF8 anstatt einfach Posix oder de_DE benutzt hat. Es gibt immer noch welche die mit UTF-8 nicht klarkommen. Und gerade bei Sarge.

PS. Sind die Headers richtig installiert ?
 
Zuletzt bearbeitet:
Sorry aber was ist UTF8?? Kann man das evtl. deaktivieren?
 
Das ist eine Zeichnstatzkodierung.

Zumindest stimmt etwas mit deinem Zeichensatz nicht.

Code:
/usr/src/kernel-source-2.6.8/include/linux/addidata/apci.h:359:1: Warnung: »MOD_INC_USE_COUNT« redefiniert

Klar kann man das ändern.

Man könnte erstmal mit locale feststellen welche Zeichsatzkodierung aktiv ist. Da kommt dann so etwas in der Art bei raus.

Code:
matthias@biljana:~$ locale
LANG=de_DE@euro
LANGUAGE=de_DE@euro
LC_CTYPE="de_DE@euro"
LC_NUMERIC="de_DE@euro"
LC_TIME="de_DE@euro"
LC_COLLATE="de_DE@euro"
LC_MONETARY="de_DE@euro"
LC_MESSAGES=en_US
LC_PAPER="de_DE@euro"
LC_NAME="de_DE@euro"
LC_ADDRESS="de_DE@euro"
LC_TELEPHONE="de_DE@euro"
LC_MEASUREMENT="de_DE@euro"
LC_IDENTIFICATION="de_DE@euro"
LC_ALL=
matthias@biljana:~$
_
_


Ändern könnte man das mit
Code:
dpkg-reconfigure locales
 
Das ist eine Zeichnstatzkodierung.

Zumindest stimmt etwas mit deinem Zeichensatz nicht.

Code:
/usr/src/kernel-source-2.6.8/include/linux/addidata/apci.h:359:1: Warnung: »MOD_INC_USE_COUNT« redefiniert
Sorry, aber dieser "Anzeigefehler" hat ja wohl nicht im geringsten was damit zu tun, dass sich der Treiber nicht compilieren lässt ...

Hier übrigens auch nicht (Sarge und Etch).

@debianneuling:
Falls möglich, versuch mal den 2.4er Kernel zu installieren und probier mal, ob sich der Treiber da compilieren lässt ...
 
@Goodspeed:
also ich habs mit dem 2.4er Kernel probiert und es geht :)! die Frage bleibt trotzdem: Warum geht es nicht unter dem 2.6er?. Naja muss ich halt mit dem 2.4er weiterarbeiten.

Besten Dank an euch alle, die versucht haben zu helfen!!!!
Super Sache hier mit euch!
 
Module, die für den 2.4er-Kernel programmiert sind, laufen meist nicht mehr im 2.6er Kernel, da dieser ein komplett anderes Modul-Interface nutzt.
 

Ähnliche Themen

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

openSUSE 12.2 - Kann Kernel nicht vorbereiten / kompilieren

Samba 4.1.11 Domänen anbindung funktioniert nicht !!!

Neuer Kernel kompiliert nicht

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Zurück
Oben