HowTo: Asterisk statisch für die FBF kompilieren

Hallo,
über die GUI kann ich dir leider nichts genaueres sagen, habe ich noch nie verwendet.
Der Asterisk-Build als solches funktioniert jedoch ausgesprochen gut und verrichtet bei mir mittlerweile seit mehreren Monaten ohne Unterbrechung brav seinen Dienst.
 
@ dfroe
Ich glaube du bist der größere Linux-Freak von uns beiden. Deshalb folgende Bitte an dich: Kannst du das und das statisch zusammen bauen so wie du es schon mal gemacht hast? Diese Version von chan_datacard baut man irgendwie mit autoconf und automake und dann mit configure, make && make install.
Aber das müsste man ja irgendwie crosscompilen und ich habe blöderweise meine gesamte toolchan zerschossen :-(
 
und ich habe blöderweise meine gesamte toolchan zerschossen
Zufall? Ich habe gerade meine mittlerweile etwas eingestaubte Toolchain zum Cross Compilen nochmal ausgekramt und bekomme damit nun noch nicht einmal mehr eine Standard Asterisk-Konfiguration (ohne chan_datacard) kompiliert.
Er bricht mir nach dem Kompilieren beim Linken mit
collect2: ld terminated with signal 11 [Segmentation fault]
ab. Damit kann ich gerade gar nichts anfangen. Für tiefergehende Recherchen fehlt mir momentan leider etwas die Zeit, ich hatte gehofft, das würde jetzt auf die Schnelle einfach so gehen wie die ganze Zeit. Schade. Wobei das mit dieser chan_datacard Variante knifflig wird. Bisher habe ich das Einkompilieren von chan_datacard lediglich dadurch hinbekommen, einfach alle *.c und *.h Dateien ins passende Asterisk-Verzeichnis zu kopieren, damit diese vom Asterisk Buildprozess einfach mit verarbeitet werden. Wenn da nun noch weitere Anpassungen bzw. Logiken durch irgendwelche configure-Skripte oder autogen-Tools erfolgen, weiß ich nicht, ob das so wie früher funktionieren wird. Wobei ich momentan wie gesagt schon am Asterisk scheitere...
 
Ich versuche deine Anleitung im ersten Post nachzuvollziehen.
Freetz aus dem trunk habe ich geholt, alles gemacht wie in der Anleitung und erfolgreich ausprobiert, ob sich ein Image mit freetz bauen lässt.
Nun habe ich aktuellen Asterisk geholt und entpackt.
Ich habe die erste Zeile vom compile_env angepasst:
Code:
TOOLCHAIN=/usr/src/freetz/freetz-trunk/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc

TOOLCHAIN_BIN=$TOOLCHAIN/bin
TOOLCHAIN_LIB=$TOOLCHAIN/lib
TOOLCHAIN_INC=$TOOLCHAIN/include

export PATH=$TOOLCHAIN_BIN:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

export AR=$TOOLCHAIN_BIN/mipsel-linux-uclibc-ar
export AS=$TOOLCHAIN_BIN/mipsel-linux-uclibc-as
export LD=$TOOLCHAIN_BIN/mipsel-linux-uclibc-ld
export NM=$TOOLCHAIN_BIN/mipsel-linux-uclibc-nm
export CC=$TOOLCHAIN_BIN/mipsel-linux-uclibc-gcc
export CPP=$TOOLCHAIN_BIN/mipsel-linux-uclibc-cpp
export GCC=$TOOLCHAIN_BIN/mipsel-linux-uclibc-gcc
export CC=$TOOLCHAIN_BIN/mipsel-linux-uclibc-gcc
export CXX=$TOOLCHAIN_BIN/mipsel-linux-uclibc-g++
export RANLIB=$TOOLCHAIN_BIN/mipsel-linux-uclibc-ranlib

export CFLAGS="-Os -s"
export LDFLAGS="-L$TOOLCHAIN_LIB"
export CPPFLAGS="-I$TOOLCHAIN_INC"
Aber es klappt irgendwie nicht:
Code:
fritz@fritz-desktop:/usr/src/asterisk/asterisk-1.8.3.3$ ./configure --build=mipsel-linux --disable-xmldoc
checking build system type... mipsel-unknown-linux-gnu
checking host system type... mipsel-unknown-linux-gnu
checking for gcc... /usr/src/freetz/freetz-trunk/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/bin/mipsel-linux-uclibc-gcc
checking whether the C compiler works... no
configure: error: in `/usr/src/asterisk/asterisk-1.8.3.3':
configure: error: C compiler cannot create executables
See `config.log' for more details.
fritz@fritz-desktop:/usr/src/asterisk/asterisk-1.8.3.3$
Ideen?

Nachtrag: Die Anleitung ist ja damals für die 7270er geschrieben worden.
nachdem sich letztens meine gute alte 7270 nach einem Stromausfall verabschiedet hat, habe ich mir den Luxus einer 7390 gegönnt. Erster (kleiner) Schock: Die Architektur der 7390 ist nicht mehr mipsel sondern mips: Meine chroot-Umgebung (Debian Etch) läuft also nicht mehr.

Also habe ich überall statt mipsel nun mips eingesetzt und schon läuft die Kompilation von Asterisk.
 
Zuletzt bearbeitet:
Hallo,
zur aktuellen Versionslage kann ich gerade nichts konstruktiv beisteuern. Ich habe sowohl Freetz als auch Asterisk noch auf der Version am Laufen, auf deren Basis ich dieses Howto erstellt habe. Ein aktuelles Freetz kann ich momentan gerade nicht aufsetzen, da ich meinen Linux-Server zwischenzeitlich durch eine BSD-Maschine ersetzt habe. Und unter FreeBSD habe ich die Freetz-Umgebung noch nicht zum Laufen gebracht. Ich werde mir wohl als Buildsystem für's Freetz irgendeine dedizierte virtuelle Maschine mit Linux aufsetzen, wofür mir momentan aber etwas die Zeit fehlt. Zumal ich mit der damaligen Asterisk-Version (die ich hier ja auch statisch kompiliert zur Verfügung gestellt habe) eigentlich noch ganz zufrieden bin. Für das aktuelle Versionsgeschehen bin ich daher noch etwas außen vor.
 
Nach dem "make" fängt er zu kompilieren an. Aber er bricht ab. Ideen?
Code:
   [CC] pbx.c -> pbx.o
   [CC] plc.c -> plc.o
   [CC] poll.c -> poll.o
   [CC] privacy.c -> privacy.o
   [CC] rtp_engine.c -> rtp_engine.o
   [CC] say.c -> say.o
   [CC] sched.c -> sched.o
   [CC] security_events.c -> security_events.o
   [CC] sha1.c -> sha1.o
   [CC] slinfactory.c -> slinfactory.o
   [CC] srv.c -> srv.o
   [CC] ssl.c -> ssl.o
   [CC] stdtime/localtime.c -> stdtime/localtime.o
stdtime/localtime.c: In function 'store_by_locale':
stdtime/localtime.c:2196: error: 'LC_GLOBAL_LOCALE' undeclared (first use in this function)
stdtime/localtime.c:2196: error: (Each undeclared identifier is reported only once
stdtime/localtime.c:2196: error: for each function it appears in.)
stdtime/localtime.c: In function 'ast_setlocale':
stdtime/localtime.c:2228: error: 'LC_GLOBAL_LOCALE' undeclared (first use in this function)
stdtime/localtime.c:2231: warning: implicit declaration of function 'uselocale'
stdtime/localtime.c:2236: warning: assignment makes pointer from integer without a cast
stdtime/localtime.c:2241: warning: implicit declaration of function 'newlocale'
stdtime/localtime.c:2241: error: 'LC_ALL_MASK' undeclared (first use in this function)
stdtime/localtime.c:2244: warning: assignment makes pointer from integer without a cast
make[1]: *** [stdtime/localtime.o] Fehler 1
make: *** [main] Fehler 2
root@fritz-desktop:/usr/src/asterisk/asterisk-1.8.3.3#
 
Zuletzt bearbeitet:
Ich vermute, dass man an der Stelle den Source patchen muss, da wir uClibc verwenden.

Gruß
Oliver
 
Asterisk findet den Linker nicht

Code:
make
   [LD] abstract_jb.o acl.o adsistub.o aescrypt.o aeskey.o aestab.o alaw.o app.o ast_expr2.o ast_expr2f.o asterisk.o astfd.o astmm.o astobj2.o audiohook.o autoservice.o bridging.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o datastore.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o event.o features.o file.o fixedjitterbuf.o frame.o fskmodem.o global_datastores.o hashtab.o heap.o http.o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md5.o netsock.o pbx.o plc.o poll.o privacy.o rtp.o say.o sched.o sha1.o slinfactory.o srv.o ssl.o stdtime/localtime.o strcompat.o strings.o taskprocessor.o tcptls.o tdd.o term.o test.o threadstorage.o timing.o translate.o udptl.o ulaw.o utils.o version.o xml.o xmldoc.o editline/libedit.a db1-ast/libdb1.a ../apps/modules.link ../bridges/modules.link ../cdr/modules.link ../channels/modules.link ../codecs/modules.link ../formats/modules.link ../funcs/modules.link ../pbx/modules.link ../res/modules.link -> asterisk
collect2: ld terminated with signal 11 [Segmentation fault]
make[1]: *** [asterisk] Error 1
make: *** [main] Error 2

weiß jemand wie ich weiterkomme?
 
Zuletzt bearbeitet:
Asterisk findet den Linker durchaus.

Versuchst Du, Asterisk statisch zu linken? Vielleicht funktioniert es dynamisch. Ansinsten musst Du versuchen, den Fehler im Linker zu finden, bzw. an dessen Entwickler genug Informationen liefern, damit die ihn nachvollziehen können.
 
ich habe versucht asterisk auf meinem ubuntu x64 genau nach der anleitung zu kompilieren.
ab dem oben genannten punkt bleibt der kompiliervorgang stehen.
ich habe beide versionen von asterisk d.h. version 1.8.4 und version 1.6.2.18 versucht für meine fritzbox 7270 zu crosscompilen leider bleibt der vorgang ohne ergebnis immer stehen.
wie linke ich den dynamisch? falls ich dafür einfach die option static build ausschalten muss kommt folgendes ergebnis für version 1.8.4
Code:
 [CC] stdtime/localtime.c -> stdtime/localtime.o
stdtime/localtime.c: In function 'store_by_locale':
stdtime/localtime.c:2196: error: 'LC_GLOBAL_LOCALE' undeclared (first use in this function)
stdtime/localtime.c:2196: error: (Each undeclared identifier is reported only once
stdtime/localtime.c:2196: error: for each function it appears in.)
stdtime/localtime.c: In function 'ast_setlocale':
stdtime/localtime.c:2228: error: 'LC_GLOBAL_LOCALE' undeclared (first use in this function)
stdtime/localtime.c:2231: warning: implicit declaration of function 'uselocale'
stdtime/localtime.c:2236: warning: assignment makes pointer from integer without a cast
stdtime/localtime.c:2241: warning: implicit declaration of function 'newlocale'
stdtime/localtime.c:2241: error: 'LC_ALL_MASK' undeclared (first use in this function)
stdtime/localtime.c:2244: warning: assignment makes pointer from integer without a cast
make[1]: *** [stdtime/localtime.o] Error 1
make: *** [main] Error 2

ich hoffe ich konnte die erforderlichen infos zum compilen liefern.
im endeffekt stellt sich hier die frage ob ich auch einen patch benötige da wir uclib verwenden. welchen patch müsste ich dann hier einspielen?
oder soll ich die datei compile_env auf mips anstatt mipsel umstellen?
funktioniert es dann auch noch auf meiner fritzbox 7270?
vielleicht liegt es auch an der toolchain, dass hier fehler entstanden sind?
welche version würde denn auf jeden fall fehlerfrei durchlaufen?

ich habe darüberhinaus mittlerweile version 1.6.11.rc1 versucht zu kompilieren dies endet mit :

Code:
make
   [LD] abstract_jb.o acl.o adsistub.o aescrypt.o aeskey.o aestab.o alaw.o app.o ast_expr2.o ast_expr2f.o asterisk.o astfd.o astmm.o astobj2.o audiohook.o autoservice.o bridging.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o datastore.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o event.o features.o file.o fixedjitterbuf.o frame.o fskmodem.o global_datastores.o hashtab.o heap.o http.o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md5.o netsock.o pbx.o plc.o poll.o privacy.o rtp.o say.o sched.o sha1.o slinfactory.o srv.o ssl.o stdtime/localtime.o strcompat.o strings.o taskprocessor.o tcptls.o tdd.o term.o test.o threadstorage.o timing.o translate.o udptl.o ulaw.o utils.o version.o xml.o xmldoc.o editline/libedit.a db1-ast/libdb1.a ../apps/modules.link ../bridges/modules.link ../cdr/modules.link ../channels/modules.link ../codecs/modules.link ../formats/modules.link ../funcs/modules.link ../pbx/modules.link ../res/modules.link -> asterisk
collect2: ld terminated with signal 11 [Segmentation fault]
make[1]: *** [asterisk] Error 1
make: *** [main] Error 2


mittlerweile hab ich auch die version 1.6.11 versucht diese endet mit
Code:
   [AR] hash/hash.o hash/hash_bigkey.o hash/hash_buf.o hash/hash_func.o hash/hash_log2.o hash/hash_page.o hash/ndbm.o btree/bt_close.o btree/bt_conv.o btree/bt_debug.o btree/bt_delete.o btree/bt_get.o btree/bt_open.o btree/bt_overflow.o btree/bt_page.o btree/bt_put.o btree/bt_search.o btree/bt_seq.o btree/bt_split.o btree/bt_utils.o db/db.o mpool/mpool.o recno/rec_close.o recno/rec_delete.o recno/rec_get.o recno/rec_open.o recno/rec_put.o recno/rec_search.o recno/rec_seq.o recno/rec_utils.o -> libdb1.a
   [LD] abstract_jb.o acl.o adsistub.o aescrypt.o aeskey.o aestab.o alaw.o app.o ast_expr2.o ast_expr2f.o asterisk.o astfd.o astmm.o astobj2.o audiohook.o autoservice.o bridging.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o datastore.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o event.o features.o file.o fixedjitterbuf.o frame.o fskmodem.o global_datastores.o hashtab.o heap.o http.o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md5.o netsock.o pbx.o plc.o poll.o privacy.o rtp.o say.o sched.o sha1.o slinfactory.o srv.o ssl.o stdtime/localtime.o strcompat.o strings.o taskprocessor.o tcptls.o tdd.o term.o test.o threadstorage.o timing.o translate.o udptl.o ulaw.o utils.o version.o xml.o xmldoc.o editline/libedit.a db1-ast/libdb1.a ../apps/modules.link ../bridges/modules.link ../cdr/modules.link ../channels/modules.link ../codecs/modules.link ../formats/modules.link ../funcs/modules.link ../pbx/modules.link ../res/modules.link -> asterisk
collect2: ld terminated with signal 11 [Segmentation fault]
make[1]: *** [asterisk] Error 1
make: *** [main] Error 2


ich hab auf jeden fall google angeschmissen und nach allen für mich erdenklichen lösungsmöglichkeiten gesucht.
ich danke schon mal für jede hilfe im vorraus.
 
Zuletzt bearbeitet:
Auch ich bin dieser exzellenten Anleitung gefolgt und konnte mich noch so über manchen Fehler hinweg manövrieren, doch dieser hier läßt mich an die Grenzen meiner Linux-Kenntnisse stossen:

Code:
freetz@freetz-linux:~/asterisk-1.8.5.0$ make
CC="cc" CXX="" LD="" AR="" RANLIB="" CFLAGS="" make -C menuselect CONFIGURE_SILENT="--silent" makeopts
make[1]: Betrete Verzeichnis '/home/freetz/asterisk-1.8.5.0/menuselect'
make[1]: »makeopts« ist bereits aktualisiert.
make[1]: Verlasse Verzeichnis '/home/freetz/asterisk-1.8.5.0/menuselect'
   [LD] cel_custom.o -> cel_custom.so
/home/freetz/freetz-1.2-trunk/toolchain/build/mips_gcc-4.5.3_uClibc-0.9.31.1/mips-linux-uclibc/lib/gcc/mips-linux-uclibc/4.5.3/../../../../mips-linux-uclibc/bin/ld: /home/freetz/freetz-1.2-trunk/toolchain/build/mips_gcc-4.5.3_uClibc-0.9.31.1/mips-linux-uclibc/lib/gcc/mips-linux-uclibc/4.5.3/crtbeginT.o: relocation R_MIPS_HI16 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/home/freetz/freetz-1.2-trunk/toolchain/build/mips_gcc-4.5.3_uClibc-0.9.31.1/mips-linux-uclibc/lib/gcc/mips-linux-uclibc/4.5.3/crtbeginT.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [cel_custom.so] Fehler 1
make: *** [cel] Fehler 2
Also Toolchain ist compiled, Freetz-image gebaut, Asterisk 1.8.05 entpackt, konfiguriert, menuselect, doch dann beim "make" kommt nach einiger Zeit dieser Fehler. Achso, Ziel-Fritzbox ist die 7390.

Da die Meldung ja Vorschlägt mit "-fPIC" zu kompilen, habe ich mal versucht diese Option in die CFLAGS env-variable aufzunehmen -- allerdings ohne Erfolg.

Deswegen bräuchte ich mal einen kleinen Input von jemand, der sich damit auskennt...

Vielen Dank für die Hilfe!

LG,

linuzer
 
Hallo,
ich habe mich nach langer Zeit vor ein paar Wochen auch nochmal daran versucht, und bin ebenfalls mit meiner altbekannten Strategie gescheitert. Ich bin mir nicht sicher, ob das nun ein Problem mit der Toolchain oder der aktuellen Asterisk-Version ist. Ich würde auf jeden Fall auch den Asterisk nicht komplett ausschließen. Wie ich so von diversen anderen Plattformen mitbekommen habe, hat sich im 1.8er Asterisk auch in den internen Abläufen ein bisschen was geändert. Wenn du willst könntest du das Ganze nach der Anleitung auch einfach mal mit der letzten stabilen Version des 1.6er Zweigs probieren (1.6.2.20). Vielleicht funktioniert es damit dann ja schon. Ich habe bei mir und an ein paar anderen FritzBoxen bisher weiterhin die alte und hier verlinkte Version im Einsatz, funktioniert einwandfrei. Natürlich ist es nicht gerade besonders elegant, auf so einer alten Version festzusitzen, aber für meine Zwecke habe ich daran momentan noch nichts auszusetzen.
 
Kurzes Update:
Ich habe es jetzt mit der Vorgängerversion 1.6.2.20 versucht und bin immerhin 2 Schritte weitergekommen. Der Fehler mit dem "local-symbol" kam nicht mehr, dafür derselbe Fehler wie hier (Post #13 von udosw). Aber der Tipp von glotzi (Danke an dieser Stelle!!!) löst das Problem, sodass der "make" jetzt fehlerfrei durchläuft.

Hängen tue ich jetzt allerdings beim "make install", der auf diesen scheinbar banalen Fehler läuft (ganz unten):
Code:
freetz@freetz-linux:~/asterisk-1.6.2.20$ make install
CC="cc" CXX="" LD="" AR="" RANLIB="" CFLAGS="" make -C menuselect CONFIGURE_SILENT="--silent" makeopts
make[1]: Betrete Verzeichnis '/home/freetz/asterisk-1.6.2.20/menuselect'
make[1]: »makeopts« ist bereits aktualisiert.
make[1]: Verlasse Verzeichnis '/home/freetz/asterisk-1.6.2.20/menuselect'
   [LD] abstract_jb.o acl.o adsistub.o aescrypt.o aeskey.o aestab.o alaw.o app.o ast_expr2.o ast_expr2f.o asterisk.o astfd.o astmm.o astobj2.o audiohook.o autoservice.o bridging.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o datastore.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o event.o features.o file.o fixedjitterbuf.o frame.o fskmodem.o global_datastores.o hashtab.o heap.o http.o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md5.o netsock.o pbx.o plc.o poll.o privacy.o rtp.o say.o sched.o sha1.o slinfactory.o srv.o ssl.o stdtime/localtime.o strcompat.o strings.o taskprocessor.o tcptls.o tdd.o term.o test.o threadstorage.o timing.o translate.o udptl.o ulaw.o utils.o version.o xml.o xmldoc.o editline/libedit.a db1-ast/libdb1.a ../apps/modules.link ../bridges/modules.link ../cdr/modules.link ../channels/modules.link ../codecs/modules.link ../formats/modules.link ../funcs/modules.link ../pbx/modules.link ../res/modules.link -> asterisk
/home/freetz/freetz-1.2-trunk/toolchain/build/mips_gcc-4.5.3_uClibc-0.9.31.1/mips-linux-uclibc/lib/gcc/mips-linux-uclibc/4.5.3/../../../../mips-linux-uclibc/bin/ld: Dwarf Error: Could not find abbrev number 1.
/home/freetz/freetz-1.2-trunk/toolchain/build/mips_gcc-4.5.3_uClibc-0.9.31.1/mips-linux-uclibc/lib/gcc/mips-linux-uclibc/4.5.3/../../../../mips-linux-uclibc/bin/ld: Dwarf Error: found dwarf version '544', this reader only handles version 2, 3 and 4 information.
../pbx/pbx_spool.eo: In function `scan_thread':
pbx_spool.c:(.text.scan_thread+0x460): warning: the use of OBSOLESCENT `utime' is discouraged, use `utimes'
utils.o: In function `ast_gethostbyname':
utils.c:(.text.ast_gethostbyname+0xec): warning: gethostbyname_r is obsolescent, use getnameinfo() instead.
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
strip: Unable to recognise the format of the input file `asterisk'
CFLAGS="-Os -s -msoft-float -fno-builtin-ffs   -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3   " build_tools/mkpkgconfig /var/media/ftp/uStor01/asterisk/lib/pkgconfig;
mkdir -p /var/media/ftp/uStor01/asterisk/var/lib/asterisk/static-http
for x in static-http/*; do \
                /usr/bin/install -c -m 644 $x /var/media/ftp/uStor01/asterisk/var/lib/asterisk/static-http ; \
        done
if [ -d doc/tex/asterisk ] ; then \
                        mkdir -p /var/media/ftp/uStor01/asterisk/var/lib/asterisk/static-http/docs ; \
                        for n in doc/tex/asterisk/* ; do \
                                /usr/bin/install -c -m 644 $n /var/media/ftp/uStor01/asterisk/var/lib/asterisk/static-http/docs ; \
                        done \
        fi
mkdir -p /var/media/ftp/uStor01/asterisk/var/lib/asterisk/images
for x in images/*.jpg; do \
                /usr/bin/install -c -m 644 $x /var/media/ftp/uStor01/asterisk/var/lib/asterisk/images ; \
        done
mkdir -p /var/media/ftp/uStor01/asterisk/var/lib/asterisk/agi-bin
make -C sounds install
make[1]: Betrete Verzeichnis '/home/freetz/asterisk-1.6.2.20/sounds'
make[1]: Verlasse Verzeichnis '/home/freetz/asterisk-1.6.2.20/sounds'
mkdir -p /var/media/ftp/uStor01/asterisk/lib/asterisk/modules
mkdir -p /var/media/ftp/uStor01/asterisk/sbin
mkdir -p /var/media/ftp/uStor01/asterisk/etc/asterisk
mkdir -p /var/media/ftp/uStor01/asterisk/var/run/asterisk
mkdir -p /var/media/ftp/uStor01/asterisk/var/spool/asterisk/voicemail
mkdir -p /var/media/ftp/uStor01/asterisk/var/spool/asterisk/dictate
mkdir -p /var/media/ftp/uStor01/asterisk/var/spool/asterisk/system
mkdir -p /var/media/ftp/uStor01/asterisk/var/spool/asterisk/tmp
mkdir -p /var/media/ftp/uStor01/asterisk/var/spool/asterisk/meetme
mkdir -p /var/media/ftp/uStor01/asterisk/var/spool/asterisk/monitor
Installing modules from channels...
Installing modules from pbx...
Installing modules from apps...
Installing modules from codecs...
Installing modules from formats...
Installing modules from cdr...
Installing modules from bridges...
Installing modules from funcs...
Installing modules from tests...
buildinfo.c:26:32: fatal error: asterisk/buildinfo.h: No such file or directory
compilation terminated.
make[1]: *** [asterisk] Fehler 1
make: *** [main-install] Fehler 2

Alle naheliegenden Versuche, wie z.B. die buildinfo.h an alle möglichen (und unmöglichen) Stellen kopieren, hat nichts gebracht. Google hat den Vorschlag ausgespuckt, das XARGS-Paket sei kaputt, doch auch ein Update des entsprechenden "findutils" packages (download, auspacken, ./config, make, make install) hat nichts geändert. Deswegen bin ich jetzt erneut mit meinem Latein am Ende.

Kann mir jemand helfen?

Ich arbeite in der neuesten freetz-linux VM.

Vielen Dank!

LG linuzer
 
Hängen tue ich jetzt allerdings beim "make install", der auf diesen scheinbar banalen Fehler läuft (ganz unten):
Was beabsichtigst Du mit "make install" in deinem Build-System?
 
Was beabsichtigst Du mit "make install" in deinem Build-System?
Der Sinn dessen ist, hiermit auf dem Build-System die korrekte Ziel-Ordnerstruktur erstellen zu lassen. Anschließend lässt sich der "installierte" Inhalt dann auf einen USB-Stick kopieren.
 
... auf dem Build-System die korrekte Ziel-Ordnerstruktur erstellen zu lassen. ...
Hast Du das schon mal mit asterisk oder mit anderen crosscompilierten Anwendungen so gemacht, mit "make install"? Warum gibt es bei dir nur eine korrekte Ziel-Ordnerstruktur, die nur "make install" erstellen kann?
 
Hast Du das schon mal mit asterisk oder mit anderen crosscompilierten Anwendungen so gemacht, mit "make install"?
Also mit dem Asterisk hat es "damals" (Anfang dieses Threads) sehr gut funktioniert.
Über andere Szenarien kann ich nicht viel sagen, da kenne ich mich nicht aus.

Warum gibt es bei dir nur eine korrekte Ziel-Ordnerstruktur, die nur "make install" erstellen kann?
Nunja, es existieren neben den eigentlichen Asterisk-Binaries z.B. noch die diversen Sprach-Dateien, die bei "make install" auf dem Build-System mit entpackt werden.
Sicherlich ließe sich das auch irgendwie "eleganter" durchführen, allerdings nach meiner Einschätzung mit höherem händischen Aufwand. Der Weg mit "make install" war aus meiner Sicht jedenfalls der einfachste/schnellste.
 
Der Weg mit "make install" war aus meiner Sicht jedenfalls der einfachste/schnellste.
Dann solltest Du versuchen, configure (Makefile) so zu patchen, dass "make install" mit den für die Box kompilierten binaries & Co. bzw. mit den header-Dateien wie im Build-System vorhanden, zurecht kommt.
 
Dann solltest Du versuchen, configure (Makefile) so zu patchen, dass "make install" mit den für die Box kompilierten binaries & Co. bzw. mit den header-Dateien wie im Build-System vorhanden, zurecht kommt.
Keine Einwände. Nur - da bin ich im Moment mit meinem Latein leider am Ende.
 
Das einzige, was mir noch nicht klar ist: Der Asterisk hat doch in seiner Ordnerstruktur alles, was er zum kompilieren und linken braucht gefunden -- alle Libraries, Sourcecodefiles und vor allem alle Header-Files. Wieso muss der "make install" überhaupt nochmal auf Header-Dateien zugreifen? Und wenn das (warum auch immer) notwendig ist, warum findet er sie dann nicht, genauso wie der Compiler vorher?
 
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.