probleme mit bristuff 0.2.0 rc1/rc2 und gcc-2.95

bjunix

Neuer User
Mitglied seit
18 Apr 2004
Beiträge
192
Punkte für Reaktionen
0
Punkte
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?
 

lo4dro

Mitglied
Mitglied seit
14 Okt 2004
Beiträge
656
Punkte für Reaktionen
0
Punkte
0
Kann es sein, das du vergessen hast das zaphfc modul mit make load zu laden?
 

bjunix

Neuer User
Mitglied seit
18 Apr 2004
Beiträge
192
Punkte für Reaktionen
0
Punkte
0
nein das wird korrekt geladen
habe aber bristuff 0.2.0 rc2 noch nicht getestet. vieleicht klappt es ja damit
 

bjunix

Neuer User
Mitglied seit
18 Apr 2004
Beiträge
192
Punkte für Reaktionen
0
Punkte
0
nein....
mit rc2 klappt es auch nicht
 

lo4dro

Mitglied
Mitglied seit
14 Okt 2004
Beiträge
656
Punkte für Reaktionen
0
Punkte
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?
 

rannseier

Aktives Mitglied
Mitglied seit
5 Mai 2004
Beiträge
986
Punkte für Reaktionen
0
Punkte
0
Meldet er beim compilieren irgendwelche Fehler?


MfG,
Karl
 

bjunix

Neuer User
Mitglied seit
18 Apr 2004
Beiträge
192
Punkte für Reaktionen
0
Punkte
0
lo4dro schrieb:
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?
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
 

Specki

Neuer User
Mitglied seit
12 Okt 2004
Beiträge
42
Punkte für Reaktionen
0
Punkte
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
 

otaku42

Admin-Team
Mitglied seit
26 Mrz 2004
Beiträge
1,670
Punkte für Reaktionen
0
Punkte
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.
 

bjunix

Neuer User
Mitglied seit
18 Apr 2004
Beiträge
192
Punkte für Reaktionen
0
Punkte
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.
 

riesling

Neuer User
Mitglied seit
10 Nov 2004
Beiträge
9
Punkte für Reaktionen
0
Punkte
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
 

lo4dro

Mitglied
Mitglied seit
14 Okt 2004
Beiträge
656
Punkte für Reaktionen
0
Punkte
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.
 

bjunix

Neuer User
Mitglied seit
18 Apr 2004
Beiträge
192
Punkte für Reaktionen
0
Punkte
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
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,920
Beiträge
2,028,163
Mitglieder
351,083
Neuestes Mitglied
deckling