Crosscompiler

the_ncw

Neuer User
Mitglied seit
18 Jul 2005
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Hallo,

hat irgenjemand mal ne anleitung wie man sich einen Crosscompiler unter debian baut. Ich habe mir mal per svn die buildroot von Uclibc.org geladen hab dann nen make gemacht das ganze leif dan ca. 30min oder so hat sich ständig zusätzliches zeugs runtergeladen und hat dann irgenwann den compiler fehler bei busyBoy mount.c gebracht. Ich wollte eigentlich keine Busybox erstellen sondern mit nem mipsel compiler eigene programme für die Box ich hab dann mal unter toolchain_build_mipsel unter gcc-3.4.2-final/gcc eine gcc-cross gefunden und mit der das Beispiel von Maruu (helloworld) kompliert allerdings bekomm ich auf der Box ein Segmetation Fault. Kann mir jemand helfen ? oder ist mir vielleicht gar nicht mehr zu helfen :-(

ciao ncw
 
Danke, also wenn ichdiese nehme und nen make mach dann will er den image bei avm runterladen bringt aber die Fehlermeldung das die Datei nicht da ist. Wo finde ich den den Compiler in dem Buildroot
 
the_ncw schrieb:
Wo finde ich den den Compiler in dem Buildroot
Ich habe "make host-sed avm-kernelsrc uclibc-configured binutils gcc uclibc-target-utils" benutzt; danach findest du den Compiler in ./build_mipsel/staging_dir.
 
sauber. und das soll man als newbee wissen ?????? bin beeindruckt.
 
Das buildroot ist im Moment nicht aktuell, da Enrik in letzter Zeit etwas busy war.
Ich kann dir nicht sagen, ob da ein korrektes Image für eine andere Box als die ata fon wlan Varianten rauskommt.
Du musst in targets/fritz/fritzroot.mk die Zeile mit der Firmware auf die aktuelle Version anpassen. Dann geht's weiter...

MfG Oliver
 
also ich hab alles jetzt mal so kompiliert. es hat gefunzt ich hab nun den compiler und kann mein prog auf der Box ausführen das ist alles was ich wollte bis jetzt Danke an euch beide!!!!
 
hm ich kann das build rot nicht compiliren bei make bekomme ich nur folgendes
make -C package/config ncurses conf mconf
make[1]: Gehe in Verzeichnis »/home/theborg/.local/share/Trash/files/buildroot_1/package/config«
make[1]: »conf« ist bereits aktualisiert.
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DCURSES_LOC="<ncurses.h>" -I. -c mconf.c -o mconf.o
mconf.c:104: Fehler: statische Deklaration von »current_menu« folgt nicht-statischer Deklaration
lkc.h:63: Fehler: vorherige Deklaration von »current_menu« war hier
mconf.c: In Funktion »conf_string«:
mconf.c:583: Warnung: Zeigerziele bei Übergabe des Arguments 2 von »sym_set_string_value« unterscheiden sich im Vorzeichenbesitz
mconf.c: In Funktion »conf_load«:
mconf.c:604: Warnung: Zeigerziele bei Übergabe des Arguments 1 von »conf_read« unterscheiden sich im Vorzeichenbesitz
mconf.c: In Funktion »conf_save«:
mconf.c:625: Warnung: Zeigerziele bei Übergabe des Arguments 1 von »conf_write« unterscheiden sich im Vorzeichenbesitz
make[1]: *** [mconf.o] Fehler 1
make[1]: Verlasse Verzeichnis »/home/theborg/.local/share/Trash/files/buildroot_1/package/config«
make: *** [package/config/mconf] Fehler 2
 
Hm, seltsam.
Eventuell fehlt was, z.B. ncurses, bison, flex, oder ist nicht aktuell...

MfG Oliver
 
doch alles drauf unt aktuell aber es geht einfach nicht
 
Auf alle Fälle ist das ein Problem mit deinem gcc, da hier ein Binary für deinen PC kompiliert wird.
Was für Compiler, Linux usw. hast du denn?

MfG Oliver
 
gcc-Version 4.0.2 20050808, Distribution ist kubuntu, linux ist 2.6.12-9
 
Ich hab als Host-Compiler gcc-3.3.5 unter Ubuntu 2.6.10-5
und der macht keine Probleme...

MfG Oliver
 
Auch wenn dieser Thread schon etwas betagt ist:
Hat hierzu jemand eine Idee? Irgendwie scheints zu dem buildroot von enrik auch keine Anleitung zu geben, wie man das zum Laufen bekommt. Ich hab einfach mal make menuconfig probiert und bekomm das hier:

root@notebook:~/buildroot# make menuconfig
make -C package/config ncurses conf mconf
make[1]: Betrete Verzeichnis '/home/franz/buildroot/package/config'
cp zconf.tab.h_shipped zconf.tab.h
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I. -c conf.c -o conf.o
cp zconf.tab.c_shipped zconf.tab.c
cp lex.zconf.c_shipped lex.zconf.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I. -c zconf.tab.c -o zconf.tab.o
gcc conf.o zconf.tab.o -o conf
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DCURSES_LOC="<ncurses.h>" -I. -c mconf.c -o mconf.o
mconf.c:104: Fehler: statische Deklaration von »current_menu« folgt nicht-statischer Deklaration
lkc.h:63: Fehler: vorherige Deklaration von »current_menu« war hier
mconf.c: In Funktion »conf_string«:
mconf.c:583: Warnung: Zeigerziele bei Übergabe des Arguments 2 von »sym_set_string_value« unterscheiden sich im Vorzeichenbesitz
mconf.c: In Funktion »conf_load«:
mconf.c:604: Warnung: Zeigerziele bei Übergabe des Arguments 1 von »conf_read« unterscheiden sich im Vorzeichenbesitz
mconf.c: In Funktion »conf_save«:
mconf.c:625: Warnung: Zeigerziele bei Übergabe des Arguments 1 von »conf_write« unterscheiden sich im Vorzeichenbesitz
make[1]: *** [mconf.o] Fehler 1
make[1]: Verlasse Verzeichnis '/home/franz/buildroot/package/config'
make: *** [package/config/mconf] Fehler 2
root@notebook:~/buildroot#
 
Das Modifikationsdatum des buildroots ist 22-Feb-2005. Damit wirst du nicht ohne erheblichen Aufwand einen Crosscompiler für die neuen Boxen erstellen können. Hast du eine Firmware mit uClibc 0.9.26 oder 0.9.28? Für ersteres nimm die normale ds-mod Version 0.2.9, für neuere Firmwares such dir am besten die aktuellste Version des ds-mod (0.2.9-* von olistudent). Im ds-mod kannst du mit `make toolchain' einen Crosscompiler erstellen.

Mfg
danisahne
 
Ich habe die aktuelle Firmware von AVM (ohne ds-mod), das Ganze soll dann auf der Fritzbox wlan fon laufen.
Ich werd mich heute Abend auf die Suche machen, sofern nicht zufällig hier noch jemand den Link zur Hand hat.. ;)
 
Link

MfG Oliver
 
Danke!

..solche Reaktionszeiten würd ich mir von anderen Leuten wünschen - die schaffens nicht mal, Emails innerhalb 1 Woche zu beantworten! :-Ö

Nachtrag: Kaum hat sich das Thema erledigt, kommt heute die Antwort-Mail. 8 Tage - das ist Negativrekord!
 
Zuletzt bearbeitet:
Also die Toolchain steht jetzt, configure für jamVM mit den entsprechenden Parameter ist auch erfolgreich durchgelaufen, nur beim make bin ich mir jetzt etwas unsicher, sollte aber passen.

Versuche gerade, classpath zu compilieren. Bräuchte aber wieder mal einen Tipp beim interpretieren einer Fehlermeldung:

/home/franz/ds-0.2.9/toolchain/build/gcc-4.1.0-uClibc-0.9.26/mipsel-linux-uclibc/bin/mipsel-linux-gcc-4.1.0 -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -I../../../native/jni/classpath -I../../../native/jni/native-lib -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -Wstrict-prototypes -pedantic -Werror -static-libgcc -MT java_net_VMNetworkInterface.lo -MD -MP -MF .deps/java_net_VMNetworkInterface.Tpo -c java_net_VMNetworkInterface.c -fPIC -DPIC -o .libs/java_net_VMNetworkInterface.o
cc1: warnings being treated as errors
java_net_VMNetworkInterface.c:114: warning: unused parameter 'clazz'
make[3]: *** [java_net_VMNetworkInterface.lo] Fehler 1
make[3]: Verlasse Verzeichnis '/home/franz/classpath-0.93/native/jni/java-net'
make[2]: *** [all-recursive] Fehler 1
make[2]: Verlasse Verzeichnis '/home/franz/classpath-0.93/native/jni'
make[1]: *** [all-recursive] Fehler 1
make[1]: Verlasse Verzeichnis '/home/franz/classpath-0.93/native'
make: *** [all-recursive] Fehler 1

Wozu würdet ihr mir raten, um das noch hin zu bekommen?
 
Zuletzt bearbeitet:
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.