[Gelöst] Module wollen nicht kompilieren

oenne

Neuer User
Mitglied seit
15 Okt 2007
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo,
wie der Titel schon vermuten lässt, wollen meine Module einfach nicht kompiliert werden.
Ich installiere den aktuellen Bristuff-stable auf einem Ubuntu-Server System (Wer jetzt lacht hat sich nicht mit der Materie befasst...) mit zwei HFC-Karten.
Compile.sh läuft problemlos durch bis ztgsm. Ab da bekomme ich immer die selben Fehlermeldungen (auch für zaphfc usw.):

Code:
make -C /lib/modules/2.6.20-15-server/build SUBDIRS=/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm clean
make[1]: Betrete Verzeichnis '/usr/src/linux-headers-2.6.20-15-server'
  CLEAN   /usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/.tmp_versions
make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-2.6.20-15-server'
rm -f Module.symvers
make -C /lib/modules/2.6.20-15-server/build SUBDIRS=/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm HOTPLUG_FIRMWARE= modules
make[1]: Betrete Verzeichnis '/usr/src/linux-headers-2.6.20-15-server'
  CC [M]  /usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.o
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c: In Funktion »ztgsm_zap_rx«:
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:434: Fehler: »struct zt_chan« hat kein Element namens »eofrx«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:435: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c: In Funktion »ztgsm_zap_tx«:
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:513: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:516: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:521: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:522: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:522: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:522: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:523: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:526: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:530: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:531: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:532: Fehler: »struct zt_chan« hat kein Element namens »eofrx«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:533: Fehler: »struct zt_chan« hat kein Element namens »eoftx«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c: In Funktion »ztgsm_run«:
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:705: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:706: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c: In Funktion »ztgsm_startup«:
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:880: Fehler: »ZT_FLAG_BRIDCHAN« nicht deklariert (erste Benutzung in dieser Funktion)
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:880: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:880: Fehler: für jede Funktion in der er auftritt.)
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c: In Funktion »ztgsm_init«:
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:982: Fehler: »struct zt_chan« hat kein Element namens »maxbytes2transmit«
make[2]: *** [/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.o] Fehler 1
make[1]: *** [_module_/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-2.6.20-15-server'
make: *** [modules] Fehler 2
make -C /lib/modules/2.6.20-15-server/build SUBDIRS=/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm HOTPLUG_FIRMWARE= modules
make[1]: Betrete Verzeichnis '/usr/src/linux-headers-2.6.20-15-server'
  CC [M]  /usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.o
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c: In Funktion »ztgsm_zap_rx«:
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:434: Fehler: »struct zt_chan« hat kein Element namens »eofrx«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:435: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c: In Funktion »ztgsm_zap_tx«:
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:513: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:516: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:521: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:522: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:522: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:522: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:523: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:526: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:530: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:531: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:532: Fehler: »struct zt_chan« hat kein Element namens »eofrx«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:533: Fehler: »struct zt_chan« hat kein Element namens »eoftx«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c: In Funktion »ztgsm_run«:
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:705: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:706: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c: In Funktion »ztgsm_startup«:
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:880: Fehler: »ZT_FLAG_BRIDCHAN« nicht deklariert (erste Benutzung in dieser Funktion)
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:880: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:880: Fehler: für jede Funktion in der er auftritt.)
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c: In Funktion »ztgsm_init«:
/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.c:982: Fehler: »struct zt_chan« hat kein Element namens »maxbytes2transmit«
make[2]: *** [/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm/ztgsm.o] Fehler 1
make[1]: *** [_module_/usr/src/bristuff-0.3.0-PRE-1y-m/ztgsm] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-2.6.20-15-server'
make: *** [modules] Fehler 2
****************************************************
Press <Enter> to continue, or <CTRL> + <C> to abort.
****************************************************

Auf einem anderen System hat die Installation fast problemlos funktioniert. Ich musste nur von Hand patchen. Finde den Thread der mir da geholfen hat aber zum verrecken nicht wieder.
Linux-headers sind vorhanden und gelinked.
Astersik läuft, aber modprobe funktioniert natürlich nicht, da keine Module gebaut werden die ich laden könnte.
Wäre klasse wenn mir jemand nen Tipp geben könnte. Google ist schon kurz davor mich wegen Searchspamming zu bannen ;)

Gruß oenne
 
Zuletzt bearbeitet:
Hallo oenne,

ist das /usr/src/bristuff.../zaptel/zaptel.h identisch mit dem /usr/include/linux/zaptel.h?

Ich habe die komplette Kernel-Source installiert, bei mir ist /usr/include/linux ein Link nach /usr/src/linux/include/linux. Ist bei die auch das richtige zaptel.h unter /usr/src/linux-headers...?

Und schließlich: die angemeckerten Elemente sind alle von "#ifdef CONFIG_ZAPATA_BRI_DCHANS" umgeben. Ist das bei deiner config vielleicht nicht vorhanden?
 
Die gsm-Treiber brauchst du nicht!

Gehe ins zaptel*-Verzeichnis und setze dort ein 'make clean;make;make install' ab.
 
/usr/src/bristuff.../zaptel/zaptel.h und /usr/include/linux/zaptel.h sind identisch.

Und schließlich: die angemeckerten Elemente sind alle von "#ifdef CONFIG_ZAPATA_BRI_DCHANS" umgeben. Ist das bei deiner config vielleicht nicht vorhanden?

Von welcher config redest du jetzt?

Netview schrieb:
Die gsm-Treiber brauchst du nicht!

Gehe ins zaptel*-Verzeichnis und setze dort ein 'make clean;make;make install' ab.

zaptel lässt sich ja auch problemlos kompilieren. Der Fehler tritt auf bei:
ztgsm, qozap, cwain und zaphfc
Die Fehler bein make der gsm-Treiber habe ich auch nur beispielhaft gepostet. Wichtiger ist mir natürlich zaphfc. Da bekomme ich allerdings genau die selben Fehler gemeldet. Ich gehe davon aus, dass da auf irgenwelche Variablen oder ähnliches nicht zugegriffen werden kann, die jedoch von mehreren Paketen benutzt werden.
Es geht immer darum, dass in "struct zt-chan" irgendwelche Elemente fehlen. Wenn ich wüsste, was genau "struct zt-chan" ist könnte ich der Sache evtl. auf den Grund gehen.
 
Hast du die passenden kernel-header drauf?

Link gesetzt: 'ln -s /usr/src/linux-headers-2.6.20-15-server /usr/src/linux-2.6' ?
 
Beides ja.
Habe sogar noch /usr/src/linux auf /usr/src/linux-2.6 gelinked.
 
Fehlt bei dir vielleicht das Programm 'patch'?
 
Die Vermutung hatte ich auch schon. Patch ist aber installiert und aktuell.
Aber ich habe jetzt mal eine Dummyinstallation von asterisk-bristuff aus den Ubuntu-Quellen gemacht und installiere einfach mal alle Pakete nach, die mir dort als Abhängigkeiten angezeigt wurden.
Mal sehen obs hilft.

Edit: An fehlenden Abhängigkeiten scheint es nicht zu liegen.

Hier nochmal die Ausgabe vom make für zaphfc:

Code:
oenne@fserv:/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc$ sudo make
make -C /lib/modules/2.6.20-15-server/build SUBDIRS=/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc HOTPLUG_FIRMWARE= modules
make[1]: Betrete Verzeichnis '/usr/src/linux-headers-2.6.20-15-server'
  CC [M]  /usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.o
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c: In Funktion »hfc_dtrans«:
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:400: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:423: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:440: Fehler: »struct zt_chan« hat kein Element namens »eoftx«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:459: Fehler: »struct zt_chan« hat kein Element namens »eoftx«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:463: Fehler: »struct zt_chan« hat kein Element namens »eoftx«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c: In Funktion »hfc_drec«:
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:475: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:476: Fehler: »struct zt_chan« hat kein Element namens »eofrx«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:510: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:515: Fehler: »struct zt_chan« hat kein Element namens »eofrx«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:525: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:531: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c: In Funktion »hfc_interrupt«:
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:721: Fehler: »struct zt_chan« hat kein Element namens »bytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:722: Fehler: »struct zt_chan« hat kein Element namens »maxbytes2transmit«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:736: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:739: Fehler: »struct zt_chan« hat kein Element namens »eofrx«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:741: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:744: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:746: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:749: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:755: Fehler: »struct zt_chan« hat kein Element namens »bytes2receive«
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c: In Funktion »zthfc_startup«:
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:831: Fehler: »ZT_FLAG_BRIDCHAN« nicht deklariert (erste Benutzung in dieser Funktion)
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:831: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:831: Fehler: für jede Funktion in der er auftritt.)
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c: In Funktion »hfc_findCards«:
/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.c:982: Warnung: Typkonvertierung in Zeiger von Ganzzahl anderer Breite
make[2]: *** [/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc/zaphfc.o] Fehler 1
make[1]: *** [_module_/usr/src/bristuff-0.3.0-PRE-1y-m/zaphfc] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-2.6.20-15-server'
make: *** [modules] Fehler 2
 
Zuletzt bearbeitet:
/usr/src/bristuff.../zaptel/zaptel.h und /usr/include/linux/zaptel.h sind identisch.

Von welcher config redest du jetzt?

Von der zconfig.h im zaptel-Verzeichnis.

zaptel lässt sich ja auch problemlos kompilieren. Der Fehler tritt auf bei:
ztgsm, qozap, cwain und zaphfc
Die Fehler bein make der gsm-Treiber habe ich auch nur beispielhaft gepostet. Wichtiger ist mir natürlich zaphfc. Da bekomme ich allerdings genau die selben Fehler gemeldet. Ich gehe davon aus, dass da auf irgenwelche Variablen oder ähnliches nicht zugegriffen werden kann, die jedoch von mehreren Paketen benutzt werden.
Es geht immer darum, dass in "struct zt-chan" irgendwelche Elemente fehlen. Wenn ich wüsste, was genau "struct zt-chan" ist könnte ich der Sache evtl. auf den Grund gehen.

Hier nochmal der Teil aus der zaptel.h:
Code:
#ifdef CONFIG_ZAPATA_BRI_DCHANS
        int bytes2receive;
        int maxbytes2transmit; /* size of the tx buffer in the card driver */
        int bytes2transmit;
        int eofrx;
        int eoftx;
#endif

Kommen dir die Namen nicht bekannt vor? Kann es sein, dass es unter /usr/src/linux-headers... noch eine zaptel.h und zconfig.h gibt, die von den beiden anderen unter /usr/include/linux verschieden sind (wo dann CONFIG_ZAPATA_BRI_DCHANS nicht gesetzt ist)?
 
Ich denke das war der entscheidende Hinweis.
Der von dir zitierte Teil aus der zaptel.h fehlte bei mir aus unerklärlichen Gründen.
Also einfach alles nochmal sauber vom Server geputzt und ordentlich neu aufgesetzt. Jetzt tut er's.

Vielen Dank für Eure Hilfe.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.