[Openhorst-Firmware] Projekt Horstbox mit Asterisk 1.6 od. 1.4 (kein analog)

Hallo potc,

habe gestern Abend mal die aktuelle Version ausgecheckt und versucht zu compilieren. Habe nach dem ersten Fehlversuch das ganze noch mal komplett neu laden lassen und bleibe wieder am gleichen Fehler hängen:

Beim compilieren von chan_lcr:
Code:
armeb-linux-g++  -g -O2   -o genwave  genwave.o  -lpthread -lncurses -lm 
armeb-linux-gcc   -Wall -I/home/markus/src/Horstbox/build_env/toolchain/usr/include/mISDNuser -DCONFIG_DATA="\""/etc/asterisk/chanlcr"\"" -DSHARE_DATA="\"/usr/local/lcr\"" -DLOG_DIR="\"/usr/local/lcr\"" -DEXTENSION_DATA="\"/usr/local/lcr/extensions\"" -D_GNU_SOURCE -fPIC -c bchannel.c -o bchannel.po
armeb-linux-gcc   -Wall -I/home/markus/src/Horstbox/build_env/toolchain/usr/include/mISDNuser -DCONFIG_DATA="\""/etc/asterisk/chanlcr"\"" -DSHARE_DATA="\"/usr/local/lcr\"" -DLOG_DIR="\"/usr/local/lcr\"" -DEXTENSION_DATA="\"/usr/local/lcr/extensions\"" -D_GNU_SOURCE -fPIC -c options.c -o options.po
armeb-linux-gcc   -Wall -I/home/markus/src/Horstbox/build_env/toolchain/usr/include/mISDNuser -DCONFIG_DATA="\""/etc/asterisk/chanlcr"\"" -DSHARE_DATA="\"/usr/local/lcr\"" -DLOG_DIR="\"/usr/local/lcr\"" -DEXTENSION_DATA="\"/usr/local/lcr/extensions\"" -D_GNU_SOURCE -fPIC -c callerid.c -o callerid.po
armeb-linux-g++  -g -O2   -o chan_lcr.so -shared  chan_lcr.po bchannel.po options.po callerid.po -lpthread -lncurses -lm 
armeb-linux-g++: chan_lcr.po: No such file or directory
make[2]: *** [chan_lcr.so] Fehler 1
Behoben: im Makefile von chanlcr fehlt in Zeile 798 der Befehl zum compilieren der chan_lcr.c nach chan_lcr.po

Code:
markus@mondkalb:~/src/Horstbox/build_env/chanlcr$ diff -ipau Makefile~ Makefile
--- Makefile~	2010-02-03 18:10:56.000000000 +0100
+++ Makefile	2010-02-03 20:46:24.000000000 +0100
@@ -795,6 +795,7 @@ uninstall-am: uninstall-binPROGRAMS unin
 
 
 chan_lcr.po: chan_lcr.c chan_lcr.h
+	$(CC) $(INCLUDES) -D_GNU_SOURCE -fPIC -c chan_lcr.c -o chan_lcr.po
 
 bchannel.po: bchannel.c bchannel.h
 	$(CC) $(INCLUDES) -D_GNU_SOURCE -fPIC -c bchannel.c -o bchannel.po

Damit läuft erst mal das Compilieren weiter. Kann es sein, dass das durch irgendeine configure-Option passiert?

Was mir auffiel, aber scheinbar keine Auswirkung auf den Build-Prozess hat: Das ./configure von Asterisk meldet:
Code:
configure: WARNING: unrecognized options: --disable-nls, --disable-static, --without-gnutls, --disable-ncurses, --disable-termcap

Abgesehen davon musste ich beim Download von PostgreSQL nachhelfen, anscheinend hat der gewählte Mirror (ftp von der Uni Bayreuth) einen Treffer weg bekommen, der komplette /pub Ordner war leer...

_.-=: MFG :=-._
 
Zuletzt bearbeitet:
Hallo,
lösche mal das Verzeichniss mISDNuser und mache dann mal ein "make misdn_build."
Alle ausgaben davon sind wichtig da der Ausschnitt von dir nicht alles zeigt.

peter
 
Hallo, im Anhang die Log für make misdn_build und make chanlcr_build. Habe chanlcr auch gelöscht und neu erstellen lassen - der Fehler bleibt.

_.-=: MFG :=-._
 

Anhänge

  • 2010-02-03-2136_misdn_build.txt
    8 KB · Aufrufe: 4
  • 2010-02-03-2138_chanlcr_build.txt
    23.4 KB · Aufrufe: 7
Hallo,
habe mal gegen gecheckt, da es bei mir geht und im SVN alles richtig drin ist.
Du hast alles gelöscht ? Bis auf die Basisverzeichnisse aus dem SVN ?
Falls ja bin ich sehr verwundert. bei dir wird beim Build des chan_lcr erst das configure durchgeführt und dann automake u. autoconf angeworfen, was in meiner Version nicht passiert.

Was ich gesehen habe, du hast das "alte" autoconf 1.9 welches man für firefox braucht, ich habe aber standardmäßig das aktuellere 2.63.
Vielleicht kommt das Problem daher

peter
 
Hallo Peter,

es kann durchaus sein, dass das an meiner Linux-Distri liegt (Ubuntu 9.04). Ich habe hier auf meinem 2t-PC schon die aktuellere 9.10 drauf, damit werd ich es nachher mal probieren und morgen berichten.

Aber komisch - laut Package-Verzeichnis sollte die Version 2.63-2ubuntu1 auch unter 9.04 installiert sein. Oder bringt das Buildroot selber noch mal ein neues altes Autoconf/Automake mit?

Ich lösche bei einem Rev-Wechsel immer den kompletten Horstbox/ Ordner und lasse ihn neu laden:

Code:
svn checkout http://gforge.willwebhosting.de/svn/horstbox/Horstbox/trunk

Eine Anregung noch: eine Make-Direktive "make download" wäre extrem praktisch.

_.-=: MFG :=-._
 
Eine Anregung noch: eine Make-Direktive "make download" wäre extrem praktisch.

Oh ja, das wäre sehr hilfreich.

Eine Frage in die OpenHorst-Runde. Hat schon jemand CDR zum laufen gebracht? Muß dafür beim build etwas beachtet werden? Danke!
 
So,
gerade habe ich nochmal alles auf meinem Privatrechner gebaut und keine Probleme gehabt. Der hatte noch nie ein Horstimage bauen müssen, ist ein Opensuse 11.2 X86_64.
Im Anhang mal meine build ausgabe und die config.log aus dem chanlcr.
Kannst ja mal vergleichen.

Was meinst du mit make download ?

@rmh
meinst du mit cdr das Loggen der Verbindungsdaten, bei uns geht das, wir loggen in eine progress datenbank. Falls du das loakle loggen auf der JB meinst könnte evtl. die historische linkstruktur Probleme machen.
Auf jeden Fall sollte das loggen nur in den speicher erfolgen und nicht in den flash

peter
 

Anhänge

  • out.txt
    33 KB · Aufrufe: 4
da fehlte noch was, log mag das board nicht als Extension

und nun gute nacht
 

Anhänge

  • config.txt
    51 KB · Aufrufe: 11
Morgäähn! ;)

Mit "make download" meinte ich, dass man die Makefiles so erweitert, dass alles benötigten Packages in einem Rutsch geladen werden. Es ist z.B. dann sinnvoll, wenn mal wieder irgendein Mirror 'ne Macke hat oder, wie heute z.B. der Server von "mpfr.org" (braucht man für buildroot) nicht erreichbar ist...

Wenn mir danach ist, werde ich mal schauen, wieviel Aufwand das wäre, die Funktion nachzurüsten. -> in build_env/buildroot/ gibt es eine Option "make source", damit werden fast alle wichtigen Pakete geladen, also schon mal ein guter Anfang!

Edit: Unter Ubuntu 9.10 habe ich schon autoconf Version 2.64. Na mal schauen.

Edit2: Es funktioniert! Abgesehen von den üblichen Problemchen (sed wird unter /usr/bin statt unter /bin gesucht, symlink hilft; /tmp/ccache-2.4 wird u.U. nicht angelegt) und schwerfälligen Downloadservern (mpfr.org für die gleichnamige lib sowie die Homepage für dropbear waren heute schlecht erreichbar, dafür funktionierte postgresql sofort)

Dafür bleibt "make install" jetzt mit einer eigenartigen Fehlermeldung stehen:
Code:
make -C /media/data2/markus/src/horstbox/trunk/build_env/rcmd/src install
make[1]: Betrete Verzeichnis '/media/data2/src/horstbox/trunk/build_env/rcmd/src'
Making install in libnvram
make[2]: Betrete Verzeichnis '/media/data2/src/horstbox/trunk/build_env/rcmd/src/libnvram'
make[3]: Betrete Verzeichnis '/media/data2/src/horstbox/trunk/build_env/rcmd/src/libnvram'
test -z "/usr2/new/Source-5.0-ast16/build_env/image/rootfs/lib" || /bin/mkdir -p "/usr2/new/Source-5.0-ast16/build_env/image/rootfs/lib"
/bin/mkdir: kann Verzeichnis „/usr2“ nicht anlegen: Permission denied
make[3]: *** [install-libLTLIBRARIES] Fehler 1
make[3]: Verlasse Verzeichnis '/media/data2/src/horstbox/trunk/build_env/rcmd/src/libnvram'
make[2]: *** [install-am] Fehler 2
make[2]: Verlasse Verzeichnis '/media/data2/src/horstbox/trunk/build_env/rcmd/src/libnvram'
make[1]: *** [install-recursive] Fehler 1
make[1]: Verlasse Verzeichnis '/media/data2/src/horstbox/trunk/build_env/rcmd/src'
make: *** [rcmd_install] Fehler 2

Der Pfad /media/data2/ ist eine separate Platte in meinem Rechner, dort liegen alle selbst compilierten Sachen. Ich werde mal schauen, woher der Pfad "/usr2/..." kommt.

_.-=: MFG :=-._
 
Zuletzt bearbeitet:
Scheinbar baut jemand im Makefile für rcmd den Pfad rein. zumindest ist das automatisch erzeugte Makefile voll mit Verweisen dorthin. Eventuell ist das auch nur ein Schreibfehler im nächsthöheren Makefile.

Gleich weiss ich mehr...

siehe da: das config.log gibt mehr Aufschluss über die Herkunft. Offensichtlich wird irgendwo mal in den Make-scripts die Variable "ROOTFS" überschrieben. Ich bin gerade am suchen, wo das sein könnte.

_.-=: MFG :=-._
 
Ähem,
das kommt von meinem Rechner, sollte aber eigentlich ohne Belang sein.
Habs gefunden,
im scripts/rcmd.mk muss das makefile gelöscht werden wenn das archiv neu ausgepackt wurde..
Also testet mal die angehängte datei (Bitte das txt entfernen ...)

peter
 

Anhänge

  • rcmd.mk.txt
    494 Bytes · Aufrufe: 7
@rmh
meinst du mit cdr das Loggen der Verbindungsdaten, bei uns geht das, wir loggen in eine progress datenbank. Falls du das loakle loggen auf der JB meinst könnte evtl. die historische linkstruktur Probleme machen.
Auf jeden Fall sollte das loggen nur in den speicher erfolgen und nicht in den flash

peter

Ja, genau das meine ich: Normalerweise werden die Gesprächsprotokolle nach /var/log/asterisk/cdr-csv/Master.csv geschrieben. Master.csv ist ein link und zeigt auf /mnt/Master.csv. Ich raff nicht ganz, was zu tun ist, so dass die Gesprächsprotokolle - ohne Datenbank - in diese simple csv-Datei geschrieben wird. Bin für jeden Tipp dankbar! :eek:
 
@peter:

Erfolg! Das Image lässt sich jetzt ohne Fehler erstellen. Ich werde in den nächsten Tagen noch mal schauen, ob ich mit der Downloadgeschichte etwas erreichen kann.

@rmh:

Wo genau hängt es denn jetzt? In asterisk.conf ist das "astlogdir" richtig gesetzt? In modules.conf hast du die Zeile "load cdr_csv.so" drin? Dann sollte das Logging funktionieren. Zumindest ist in der Konfig für den 1.2er das so eingestellt. Mit der Konfig für den 1.6er Asterisk habe ich mich noch gar nicht beschäftigt...

_.-=: MFG :=-._
 
Zuletzt bearbeitet:
@MrMcCrash:
Danke der Nachfrage. Modul ist selbstverständlich geladen.
astlogdir = /var/log/asterisk, darin befindet sich das Verzeichnis cdr-csv, welches die Master.csv beinhaltet. Die Master.csv ist jedoch nur ein Link - wie oben beschrieben - der auf /mnt/asterisk zeigt, so dass man die Datei auch beschreiben kann. Wie lauet denn die der Name der csv-Datei, den Asterisk 1.6 für die CDR-Daten erwartet?
 
So, vielen Dank für eure Tipps. Ist mir ein wenig peinlich, es lag ledglich an einer falschen cdr.conf.
:blonk:
 
Hmpf. Irgendwie bin ich grad ein bissel blöd. Ich habe hier einen 1GB USB-Stick, mit 1 Partition drauf und in vfat formatiert. Selbst nachdem ich sämtliche scsi_*, usb-storage und sd-mod module geladen habe, bekomme ich nur ein armseliges:
Code:
mount: mount /dev/sda1 on /run/mnt failed: Invalid argument.
Wie gesagt, habe das gestern erstellte Image drauf gepackt. Leider hat mein Bastel-Horst keine Herta mehr, dann würden wahrscheinlich auch weniger Fehlermeldungen über die Serielle Konsole sprudeln, abgesehen von denen, dass Asterisk nicht dort ist, wo es erwartet wird...

_.-=: MFG :=-._
 
Hallo,
was sagt denn dmesg nachdem du das teil reingestopft hast ?

peter
 
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.