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

OpenSuSE / SuSE 10.0 / Probleme mit gcc 4.0.2

Dieses Thema im Forum "Asterisk ISDN mit Bristuff (hfc, zaptel)" wurde erstellt von *-tuxi, 14 Okt. 2005.

  1. *-tuxi

    *-tuxi Neuer User

    Registriert seit:
    28 Sep. 2005
    Beiträge:
    126
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hallo Leutz!

    Habe hier ein "kleines" Problem mit der aktuellen SuSE 10, da ich meinen endgültigen Asterisk-Server nun einrichten möchte.
    Das Hauptproblem an der Sache ist, dass sowohl zapHFC aus dem aktuellen bristuff-0.2.0-RC8o und der Asterisk 1.0.9 selber nicht reibungslos unter der gcc 4.0.2 (und höher natürlich) zu kompilieren sind.
    Mein gcc:
    Code:
    sip:/etc #
    sip:/etc # gcc --version
    gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux)
    Copyright (C) 2005 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    sip:/etc #
    sip:/etc #
    sip:/etc #
    sip:/etc # rpm -q gcc
    gcc-4.0.2_20050901-3
    sip:/etc #
    sip:/etc #
    
    Erstes Problem: Kompilation von zaphfc aus dem aktuellen bristuff-0.2.0-RC8o funktioniert nicht.

    Code:
    zaphfc.c:1000: error: invalid lvalue in assignment
    
    Guckst' Du hier:
    http://www.ip-phone-forum.de/forum/viewtopic.php?p=177461
    und da: http://lists.digium.com/pipermail/asterisk-users/2005-September/126532.html

    Mit Hilfe des Posting 177461 (link siehe oben) hat es dann auch bei mir geklappt (Beitrag von britzelfix und dessen 1. Lösungsvariante: (Danke, britzelfix! ;-) )

    Code:
    // 1)
    hfctmp->fifos = (volatile void *)((((ulong) hfctmp->fifomem) & ~0x7FFF) + 0x8000);
    


    Das Problem bezüglich des kompilierens des Asterisk unter gcc 4.0.x wurde bereits von Debian erkannt und scheinbar beseitigt. (siehe URL hier: http://bugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=318337
    Leider vermochte ich nicht heraus zu kriegen, wie die es gelöst haben...
    Die Fehlermeldung, die beim kompilieren entsteht, entspricht genau der, die auch ich bekomme (logischerweise):


    Code:
    channel.c:64: error: static declaration of 'uniquelock' follows non-static declaration
    Kompilieren kann ich Asterisk nur, wenn ich aus der channel.c die Zeilen 64, 302 und 304 auskommentiere, wie im Post hier http://lists.digium.com/pipermail/asterisk-users/2005-September/126532.html beschrieben...
    Eine absolut unschöne "hau-drauf!"-Methode, aber als erste Notlösung... wat' solls... deswegen frage ich ja hier... ;-)


    ALSOOO: ;-) Wer kann mir einen eventuellen Lösungsansatz vorschlagen oder hat Ideen bezüglich dieses Problems??

    Übrigens: Ob die Programme trotzdem laufen, vermag ich zur Zeit noch nicht zu sagen, ich habe bis eben nur installiert und noch nichts ausgeführt bzw. getestet. Mir geht es im Moment nur um die Fehler und wie ich sie wegkriege... ;-) Oder wer dafür "verantwortlich" sein könnte... ;-)

    Michael
     
  2. *-tuxi

    *-tuxi Neuer User

    Registriert seit:
    28 Sep. 2005
    Beiträge:
    126
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Niemand hier, der hierzu etwas sagen kann??
    Ich stecke hier total fest, drehe mich im Kreis und komme absolut nicht weiter.
    Ich kann jetzt wirklich nur noch auf Eure Hilfe zählen, da ich kein Programmierer bin (und mir das auch überhaupt nicht liegt) hab ich keinen Plan, wie ich mein Rätsel hier lösen soll... Help!!! ;-)

    Michael
     
  3. turboj

    turboj Neuer User

    Registriert seit:
    14 Okt. 2005
    Beiträge:
    8
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Warum nimmst Du nicht einfach die von SuSE mitgelieferten Asterisk-Pakete?
    Die tun hier mit 2* HFCS-PCI.

    Zu finden auf jedem FTP-Mirror...
     
  4. *-tuxi

    *-tuxi Neuer User

    Registriert seit:
    28 Sep. 2005
    Beiträge:
    126
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    @turboj:
    Hmmm, die haben sicherlich keinen Florz-Patch mit drin?
    Aber ich werde das gleich mal probieren, vielleicht geht es ja auch ohne Florz-Patch, ich bin bis jetzt nur noch nicht auf die Idee gekommen, weil alle davon schreiben, dass ohne Florz-Patch sozusagen nur Probleme auftauchen und gar nichts geht... ;-) Na mal schauen... ;-)
    Erstmal danke für den Tip!
    Melde mich dann wieder hier.

    Vielleicht hat in der Zwischenzeit ja doch noch jemand eine Idee, wie man den aktuellen asterisk mit bristuff und florz patch unter gcc 4.x zum kompilieren bewegen kann?

    Michael
     
  5. *-tuxi

    *-tuxi Neuer User

    Registriert seit:
    28 Sep. 2005
    Beiträge:
    126
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    @turboj nochmal:

    Wie sagt man den SuSE-Paketen, dass Sie als Parameter beim laden des Moduls "zaphfc" "modes=2" nehmen sollen, um die 1. Karte in den TE-Mode zu setzen, die zweite in den NT-Mode für den internen S0-Bus?

    Michael
     
  6. turboj

    turboj Neuer User

    Registriert seit:
    14 Okt. 2005
    Beiträge:
    8
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich habe einfach
    Code:
    options zaphfc modes=2 
    in die Datei /etc/modprobe.conf.local geschrieben und
    in die /etc/sysconfig/zaptel
    Code:
    ZAPTEL_MODULES="zaphfc" 
    Damit lief es erstmal.
     
  7. t3chie

    t3chie Neuer User

    Registriert seit:
    26 Sep. 2005
    Beiträge:
    16
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Nachdem ich schon das Wochenende verbraten hab, um den chan_misdn zum Laufen zu kriegen wollte ichs jetzt mal alternativ mit den Suse RPMs probieren. Allerdings habe ich da das Problem dass ich nur Asterisk gelistet bekomme - ich war der Meinung, ich hätte auch ein asterisk-hfc Paket gesehen?!
    Und wenn nicht, wo habt ihr dann den hfc Treiber her?
     
  8. *-tuxi

    *-tuxi Neuer User

    Registriert seit:
    28 Sep. 2005
    Beiträge:
    126
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hallo t3chie,

    SUSE 10.0:
    Code:
    sip:/admin #
    sip:/admin # rpm -qa | grep asterisk
    asterisk-1.0.9-4
    asterisk-zaptel-1.0.9-4
    asterisk-capi-0.3.5-6
    asterisk-alsa-1.0.9-4
    sip:/admin #
    sip:/admin # rpm -q libpri
    libpri-1.0.9-3
    sip:/admin #
    
    SUSE 9.3:
    Code:
    nwisdn:~ #
    nwisdn:~ # rpm -qa | grep asterisk
    asterisk-debuginfo-1.0.6-4
    asterisk-zaptel-1.0.6-4
    asterisk-capi-debuginfo-0.3.5-5
    asterisk-capi-0.3.5-5
    asterisk-1.0.6-4
    nwisdn:~ #
    nwisdn:~ #
    nwisdn:~ # rpm -qa | grep libpri
    libpri-1.0.6-4
    nwisdn:~ #
    
    Die *-debug-Pakete sind natürlich nicht unbedingt nötig.
    Damit sollte es dann gehen...

    Michael