Probleme beim CAPI kompilieren

Whoopie

Aktives Mitglied
Mitglied seit
19 Okt 2004
Beiträge
897
Punkte für Reaktionen
14
Punkte
18
Hi,
kriege leider immer diese Fehlermeldung, wenn ich versuche, die AVM Capi-Treiber zu kompilieren.
Nutze Debian Sarge und habe mich an die Anleitung unter http://www.voip-info.org/wiki-Asterisk+AVM+Fritz+CAPI+Driver+Install gehalten.

root@server:/usr/src/fritz.82# make
(cd src.drv; make CARD=fcpci)
make[1]: Entering directory `/usr/src/fritz.82/src.drv'
/usr/bin/gcc-2.95 -c -DMODULE -DMODVERSIONS -D__KERNEL__ -DNDEBUG -D__fcpci__ -DTARGET=\"fcpci\" -march=i386 -O2 -Wall -I /usr/src/kernel-headers-`uname -r`/include -include /usr/src/kernel-headers-`uname -r`/include /linux/modversions.h main.c -o main.o
gcc-2.95: cannot specify -o with -c or -S and multiple compilations
make[1]: *** [main.o] Fehler 1
make[1]: Leaving directory `/usr/src/fritz.82/src.drv'
make: *** [drv] Fehler 2

Danke für Eure Hilfe.
Bis denn,
Whoopie
 
Probier mal verschiedene aus, es gehen nicht alle Versionen vom AVM Treiber. Ich glaub ich hab damals 4 oder 5 getestet bis eine ging...
 
Hi,
hab´s mit den Version 8.0, 8.1 und 8.2 probiert. Ausserdem mit gcc, gcc-2.95 und gcc-3.3.
Leider kein Erfolg.
Hab im Netz gelesen, dass man den gcc verwenden muss, mit dem der Kernel kompiliert wurde. Wie finde ich aber heraus, welche Version das ist?

Danke nochmal.
Bis denn,
Whoopie
 
Hmm, wenn ich die Fehlermeldung richtig verstehe, dann handelt es sich um ein Problem mit den compiler-Optionen.
gcc-2.95: cannot specify -o with -c or -S and multiple compilations
Sieh doch mal nach, was diese Optionen bedeuten. Dann sollte sich eigentlich ne Lösung finden lassen. Kenn mich mit dem c-Compiler leider nicht aus. Ich vermute aber mal, daß die option "-c" über ist. Streich sie doch einfach mal im Makefile und probier es doch nochmal.
 
Das Problem ist, dass da so viele Optionen mit -c und -o sind, dass ich mir nicht vorstellen kann, dass die alle falsch sind.

Liegt es vielleicht an der Compiler-Version?
Oder hat jemand von Euch die Treiber für den Kernel 2.4.27-1-386 kompiliert und kann mir die notwendige Datei mailen?

Danke schonmal.
Bis denn,
Whoopie
 
Whoopie schrieb:
Hi,

Hab im Netz gelesen, dass man den gcc verwenden muss, mit dem der Kernel kompiliert wurde. Wie finde ich aber heraus, welche Version das ist?

cat /proc/version
(Bei mir Debian Woody, Kernel 2.4.24: gcc 2.95.4)
Im Verzeichnis des CAPI Treibers gibts eine Datei release.txt. Da steht bei mir:
Version: 03.11.02
Build: 03.08.06
Demnach hab ich die vom Suse 8.2 genommen. Vielleicht hilft Dir das.
 
Hi,
hab es gelöst. Es hatte sich beim Copy&Paste ein Leerzeichen eingeschlichen, das da nicht hingehörte.

Hab aber jetzt das Problem, dass ich chan_capi nicht kompilieren kann.
Folgender Fehler:
"chan_capi.c:1074: error: structure has no member named `dnid'"

Das gleiche war mit `callerid', aber da hab ich schon die Lösung gefunden, nämlich `callerid' durch `cid.cid_num' in der chan_capi.c ersetzen.
Aber was muss ich anstelle `dnid' eintragen? Habe die aktuelle CVS downgeloadet und keine Lust, die stable downzuloaden und von vorne anzufangen.

Danke für Eure Hilfe.
Bis denn,
Whoopie
 
Whoopie schrieb:
Hab aber jetzt das Problem, dass ich chan_capi nicht kompilieren kann.
Folgender Fehler:
"chan_capi.c:1074: error: structure has no member named `dnid'"

chan_capi compiliert nicht mit CVS Head. Da haben die größere Veränderungen gemacht, unter anderem eben an Strukturen in Zusammenhang mit DNID. Du mußt Version 1.0.1 bzw. 1.0.2 von Asterisk haben. Zumindest meine Versuche vor 2-3 Wochen schlugen fehl, ich weiss aber nicht obs inzwischen eine neue Version von chan_capi gibt...
 
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.