.titleBar { margin-bottom: 5px!important; }

Probleme beim CAPI kompilieren

Dieses Thema im Forum "Asterisk ISDN mit CAPI (chan_capi, chan_capi_cm)" wurde erstellt von Whoopie, 28 Okt. 2004.

  1. Whoopie

    Whoopie Aktives Mitglied

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    813
    Zustimmungen:
    3
    Punkte für Erfolge:
    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
     
  2. speedy1980

    speedy1980 Mitglied

    Registriert seit:
    13 Okt. 2004
    Beiträge:
    592
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Probier mal verschiedene aus, es gehen nicht alle Versionen vom AVM Treiber. Ich glaub ich hab damals 4 oder 5 getestet bis eine ging...
     
  3. Whoopie

    Whoopie Aktives Mitglied

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    813
    Zustimmungen:
    3
    Punkte für Erfolge:
    18
    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
     
  4. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hmm, wenn ich die Fehlermeldung richtig verstehe, dann handelt es sich um ein Problem mit den compiler-Optionen.
    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.
     
  5. Whoopie

    Whoopie Aktives Mitglied

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    813
    Zustimmungen:
    3
    Punkte für Erfolge:
    18
    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
     
  6. speedy1980

    speedy1980 Mitglied

    Registriert seit:
    13 Okt. 2004
    Beiträge:
    592
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  7. Whoopie

    Whoopie Aktives Mitglied

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    813
    Zustimmungen:
    3
    Punkte für Erfolge:
    18
    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
     
  8. speedy1980

    speedy1980 Mitglied

    Registriert seit:
    13 Okt. 2004
    Beiträge:
    592
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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...