PAR2CMDLINE für freetz bauen

Robotron8810

Neuer User
Mitglied seit
26 Feb 2015
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Hallo allesamt,
ich habe mittlerweile ziemlich erfahrung damit freetz zu bauen. Jetzt wollte ich noch einen schritt weiter gehn und ein programm mit compilieren. Dabei habe ich mich an folgendes tutorial gehalten http://freetz.org/wiki/help/howtos/...formation/package_development_start/example_2.
Nur spuckt mir die freetz 1.3.2 buildumgebung (neueste updates) ständig beim "make"-befehl das als fehler raus:

Code:
make  all-am
make[1]: Betrete Verzeichnis '/home/freetz/par2cmdline/par2cmdline-0.4'
mipsel-linux-uclibc-g++-wrapper -Wall -g -O2   -o par2  par2cmdline.o commandline.o crc.o creatorpacket.o criticalpacket.o datablock.o descriptionpacket.o diskfile.o filechecksummer.o galois.o mainpacket.o md5.o par1fileformat.o par1repairer.o par1repairersourcefile.o par2creator.o par2creatorsourcefile.o par2fileformat.o par2repairer.o par2repairersourcefile.o recoverypacket.o reedsolomon.o verificationhashtable.o verificationpacket.o -lstdc++
par2repairer.o: In function `__lg':
/home/freetz/freetz-devel2/toolchain/build/mipsel_gcc-4.6.4_uClibc-0.9.32.1/mipsel-linux-uclibc/bin/../lib/gcc/mipsel-linux-uclibc/4.6.4/../../../../mipsel-linux-uclibc/include/c++/4.6.4/bits/stl_algobase.h:982: undefined reference to `__clzsi2'
/home/freetz/freetz-devel2/toolchain/build/mipsel_gcc-4.6.4_uClibc-0.9.32.1/mipsel-linux-uclibc/bin/../lib/gcc/mipsel-linux-uclibc/4.6.4/../../../../mipsel-linux-uclibc/include/c++/4.6.4/bits/stl_algobase.h:982: undefined reference to `__clzsi2'
mainpacket.o: In function `__lg':
/home/freetz/freetz-devel2/toolchain/build/mipsel_gcc-4.6.4_uClibc-0.9.32.1/mipsel-linux-uclibc/bin/../lib/gcc/mipsel-linux-uclibc/4.6.4/../../../../mipsel-linux-uclibc/include/c++/4.6.4/bits/stl_algobase.h:982: undefined reference to `__clzsi2'
collect2: ld returned 1 exit status
make[1]: *** [par2] Fehler 1
make[1]: Verlasse Verzeichnis '/home/freetz/par2cmdline/par2cmdline-0.4'
make: *** [all] Fehler 2

Ich sitze jetzt schon 4 stunden dran und kriege nicht raus was ich falsch mache.
Könnt ihr mir da helfen?
 
Das habe ich bereits probiert. Steht so auch im tutorial
 
Der korrekte Override sollte so lauten:
Code:
export CXX="mips-linux-uclibc-g++-[B]uc[/B]"

mips-linux-uclibc-g++-wrapper ist nur ein Symlink. Worauf er zeigt, hängt von den beiden Optionen FREETZ_STDCXXLIB_USE_UCLIBCXX und FREETZ_STDCXXLIB_USE_GNULIBSTDCXX ab.

__clzsi2 ist in der Freetz-Version von libgcc_s.so.1 nicht enthalten - wurde mal entfernt, um die Größe von dieser zu verkleinern - zuständig dafür ist dieser Patch (am Beispiel von gcc-4.7.x, ist ansonsten in jeder unterstützen gcc-Version enthalten). Der Trick mit libuClibc++ ist nur ein Workaround. Möchtest Du libstdc++ verwenden, musst Du auf selbstgebaute Toolchain umstellen und den Patch entfernen bzw. entsprechend editieren.

p.s. alle Aussagen ungetestet...
 
Ok, also muss ich mit "make toolchain" eine eigene erstellen? Muss ich da vorher noch was mit make menuconfig anpssen. z.b. Standard C++ bibliothek?
 
EDIT: gelöscht. War zu spät dran ...
 
Muss ich da vorher noch was mit make menuconfig anpssen. z.b. Standard C++ bibliothek?
Wenn Du libstdc++ als Standard C++ verwenden möchtest, ja. Wenn Du mit uClibc++ zufrieden bist, dann musst Du gar keine eigene Toolchain bauen, der Override sollte reichen.

Ok, also muss ich mit "make toolchain" eine eigene erstellen?
Du startest am besten mit einem frischen checkout (Umstellung von download- auf selbstgebaute Toolchain ohne alles neu zu bauen, wird nicht unterstützt), stellst es in menuconfig unter "Toolchain options/Toolchains" auf "Build own toolchains (requires 4GB diskspace)" um und lässt es mit einem einfachen make bauen.
 
Okay Vielen dank für die hilfe, werde es ausprobieren
 
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.