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

probleme mit bristuff 0.2.0 rc1/rc2 und gcc-2.95

Dieses Thema im Forum "Asterisk ISDN mit Bristuff (hfc, zaptel)" wurde erstellt von bjunix, 26 Okt. 2004.

  1. bjunix

    bjunix Neuer User

    Registriert seit:
    18 Apr. 2004
    Beiträge:
    192
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hier noch mal ein extra thread für die frage.

    ich hab jetzt bri -stuff 0.2.0 einfach über die alte version"drübergebügelt". aber in /usr/lib/asterisk/modules liegen nur alte module.. keine neuen.
    ich denke deswegen bekomme ich beim start immer diese meldung

    Code:
    [chan_zap.so] => (Zapata Telephony w/PRI)
      == Parsing '/etc/asterisk/zapata.conf': Found
    Unable to get parameters
    Unable to register channel '1-2'
    chan_zap.so: load_module failed, returning -1
      == Unregistered channel type 'Tor'
      == Unregistered channel type 'Zap'
    Loading module chan_zap.so failed!
    
    danach bricht der asterisk start vorgang ab.
    hat da jemand eine idee voran das liegt?
     
  2. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Kann es sein, das du vergessen hast das zaphfc modul mit make load zu laden?
     
  3. bjunix

    bjunix Neuer User

    Registriert seit:
    18 Apr. 2004
    Beiträge:
    192
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    nein das wird korrekt geladen
    habe aber bristuff 0.2.0 rc2 noch nicht getestet. vieleicht klappt es ja damit
     
  4. bjunix

    bjunix Neuer User

    Registriert seit:
    18 Apr. 2004
    Beiträge:
    192
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    nein....
    mit rc2 klappt es auch nicht
     
  5. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Am besten du beginnst noch mal am Anfang.
    Alle von Asterisk erzeugte Verzeichnisse löschen bzw verschieben (sichern).
    Danach die bristuff...rc2 installieren.
    Auf Fehlermeldungen achten & hier posten.

    Was steht eigenldich nach "make loadNT" auf deiner Console?
     
  6. rannseier

    rannseier Aktives Mitglied

    Registriert seit:
    5 Mai 2004
    Beiträge:
    986
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Meldet er beim compilieren irgendwelche Fehler?


    MfG,
    Karl
     
  7. bjunix

    bjunix Neuer User

    Registriert seit:
    18 Apr. 2004
    Beiträge:
    192
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    naja das übliche.
    3 channels configured. undsoweiter und sofort. dort liegt der fehler meiner meinung nach nicht.
    welche verzeichnisse erstellt asterisk den? hab das mit dem löschen verschieben schon mal probiert. aber vieleicht habe ich einen ordner übersehen
     
  8. Specki

    Specki Neuer User

    Registriert seit:
    12 Okt. 2004
    Beiträge:
    42
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Gelöst: 0.2.0-rc2 bricht beim Kompilieren ab

    Bei mir bricht die 0.2.0-rc2 unter Asterisk beim Kompilieren ab, so dass ich ebenfalls die o.g. Fehlermeldung beim Starten von Asterisk bekomme (Lösung unten).

    Er bricht mit folgender Fehlermeldung in der chan_iax2.c beim Kompilieren ab:

    Code:
    chan_iax2.c: In function `iax2_hangup':
    chan_iax2.c:2406: parse error before `int'
    chan_iax2.c:2412: `alreadygone' undeclared (first use in this function)
    chan_iax2.c:2412: (Each undeclared identifier is reported only once
    chan_iax2.c:2412: for each function it appears in.)
    make[1]: *** [chan_iax2.o] Error 1
    make[1]: Leaving directory `/usr/local/src/bristuff-0.2.0-rc2/asterisk-1.0.2/channels'
    make: *** [subdirs] Error 1
    Die von bristuff geänderte und betroffene Funktion iax2_hangup sieht so aus:

    Code:
    static int iax2_hangup(struct ast_channel *c)
    {
            unsigned short callno = PTR_TO_CALLNO(c->pvt->pvt);
            struct iax_ie_data ied;
            char causestr[256];
            sprintf(causestr, "%i", c->hangupcause);
            int alreadygone;
            ast_mutex_lock(&iaxsl[callno]);
            if (callno && iaxs[callno]) {
                    memset(&ied, 0, sizeof(ied));
                    iax_ie_append_str(&ied, IAX_IE_CAUSE, causestr);
                    ast_log(LOG_DEBUG, "We're hanging up %s with cause %i now...\n", c->name, c->hangupcause);
                    alreadygone = iaxs[callno]->alreadygone;
                    /* Send the hangup unless we have had a transmission error or are already gone */
                    if (!iaxs[callno]->error && !alreadygone)
                            send_command_final(iaxs[callno], AST_FRAME_IAX, IAX_COMMAND_HANGUP, 0, ied.buf, ied.pos, -1);
                    /* Explicitly predestroy it */
                    iax2_predestroy_nolock(callno);
                    /* If we were already gone to begin with, destroy us now */
                    if (alreadygone) {
                            ast_log(LOG_DEBUG, "Really destroying %s now...\n", c->name);
                            iax2_destroy_nolock(callno);
                    }
            }
            ast_mutex_unlock(&iaxsl[callno]);
            if (option_verbose > 2)
                    ast_verbose(VERBOSE_PREFIX_3 "Hungup '%s'\n", c->name);
            return 0;
    }
    Es muss die Zeile 'int alreadygone' vor die 'sprintf' Zeile verschoben werden:

    ...
    struct iax_ie_data ied;
    char causestr[256];
    int alreadygone;
    sprintf(causestr, "%i", c->hangupcause);
    ast_mutex_lock(&iaxsl[callno]);
    ...


    Damit kompiliert er ohne Fehlermeldung durch.

    Danke nochmal für die Hilfe!!!

    Gruß,

    Specki
     
  9. otaku42

    otaku42 Admin-Team

    Registriert seit:
    26 März 2004
    Beiträge:
    1,670
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das Problem tritt nur bei aelteren Compilern auf, die den C99-Standard nicht unterstuetzen (beispielsweise bei gcc 2.95.x bei Debian stable). Solche Compiler moegen keine Anweisungen zwischen den Variablen-Deklarationen. Kapejod weiss (dank Specki) wohl mittlerweile darueber Bescheid und will das Problem in der naechsten Version beseitigen.
     
  10. bjunix

    bjunix Neuer User

    Registriert seit:
    18 Apr. 2004
    Beiträge:
    192
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    das habe ich mir ja fast schon gedacht.

    dann werde ich es mal mit gcc der 3er version ausprobieren.

    das hätte junghans aber auch mal in der readme schreiben können.
    schlecht dokumentierte projekte sind meiner meinung nach auch der einzige hacken an open source.
     
  11. otaku42

    otaku42 Admin-Team

    Registriert seit:
    26 März 2004
    Beiträge:
    1,670
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Er wusste es wohl bis zu der Meldung durch Specki selbst nicht. Ab der naechsten Version ist das Problem beseitigt, von daher brauchts da auch keine Dokumentation zu.
     
  12. riesling

    riesling Neuer User

    Registriert seit:
    10 Nov. 2004
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ich habe das gleiche Problem unter debian 3 mit gcc 2.95.
    Ich habe dann versucht einen gcc 3 zu installieren, aber ein
    apt-get install gcc-3 (oder gcc-3.2 oder gcc-3.3 oder gcc-3.x)
    liefert immer, das es ein solches Paket nicht kennt.

    Welchen Server muss ich bei apt-get konfigurieren, damit ich den gcc 3 installieren kann?
    Wie heißt das Paket genau?

    Danke

    riesling
     
  13. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @riesling
    Bei mir sieht ein apt-cache search gcc-3 so aus:

    ldroll:~ > apt-cache search gcc-3
    g++-3.4 - The GNU C++ compiler
    gcc-3.2 - The GNU C compiler
    gcc-3.2-base - The GNU Compiler Collection (base package)
    gcc-3.2-doc - Documentation for the GNU compilers (gcc, gobjc, g++)
    gcc-3.3 - The GNU C compiler
    gcc-3.3-base - The GNU Compiler Collection (base package)
    gcc-3.3-doc - Documentation for the GNU compilers (gcc, gobjc, g++)
    gcc-3.4 - The GNU C compiler
    gcc-3.4-base - The GNU Compiler Collection (base package)
    gcc-3.4-doc - Documentation for the GNU compilers (gcc, gobjc, g++)
    gpc-2.1-3.3 - The GNU Pascal compiler
    gpc-2.1-3.3-doc - Documentation for the GNU Pascal compiler (gpc)
    gpc-2.1-3.4 - The GNU Pascal compiler
    gpc-2.1-3.4-doc - Documentation for the GNU Pascal compiler (gpc)
    libffi3-dev - Foreign Function Interface library (development files)
    gcc-3.0-base - The GNU Compiler Collection (base package)

    kann es sein das du ein woody nutzt?
    Galub den gcc-3.3 ist erst ab sarge oder sid dabei.
     
  14. riesling

    riesling Neuer User

    Registriert seit:
    10 Nov. 2004
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  15. bjunix

    bjunix Neuer User

    Registriert seit:
    18 Apr. 2004
    Beiträge:
    192
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    wie siehts in der neusten bristuff version aus. gehts nun mit gcc 2.95 ?

    hab keine lust das compile script durchrödeln zu lassen um am ende eine fehler meldung zu sehen und wieder das alte bristuff 0.1.0 rüberzuspielen.

    danke

    gruß

    bjunix

    edit:

    falls es überhaupt jemand interessiert.

    hab s jetzt selber probiert und es funktioniert jetzt