Freetz auf 7390: file data encoding not little-endian

matze1985

Aktives Mitglied
Mitglied seit
17 Feb 2007
Beiträge
1,537
Punkte für Reaktionen
0
Punkte
0
Hey Leute,

nachdem ich meine 7390 bekommen habe, wollte ich mich natürlich mal am aktuellen Freetz versuchen und es gibt ja durchaus schon positive Erfolge danke der mitwirkenden.

Leider scheiter ich doch recht schnell. Folgender Fehler tritt auf mit frisch ausgechecktem 7390-branch rev 5924 auf einem Ubuntu 9.10. Dabei wurde nur die Box (7390) ausgewählt und keine weitere Einstellung.

Code:
ln -sf librt-0.9.29.so lib/librt.so.0                                                                                                                                                                                
ln -sf librt-0.9.29.so lib/librt.so                                                                                                                                                                                  
/home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/mips-linux-uclibc-gcc -c ldso/libdl/libdl.c -o ldso/libdl/libdl.os -include ./include/libc-symbols.h -Wstrict-prototypes -fno-strict-aliasing -mips32 -march=4kc -mtune=4kc -mabi=32 -fno-stack-protector -fno-builtin -nostdinc -I./include -I. -fno-builtin-memcpy -fno-builtin-memset -msoft-float -Os -funit-at-a-time -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -mno-split-addresses -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/mips -I./libpthread/linuxthreads.old/sysdeps/mips -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux -I./libpthread/linuxthreads.old/sysdeps/pthread -I./libpthread/linuxthreads.old -I./libpthread -I/home/matthias/dsmod/neu/7390_branch/source/kernel/ref-iks-16mb_26-7390_04.84/linux/include/ -isystem /home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.2.4/include -isystem /home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.2.4/include-fixed -DNDEBUG -mno-split-addresses -fPIC -DNOT_IN_libc -DIS_IN_libdl -I./ldso/ldso/mips -I./ldso/include -I./ldso/ldso -DUCLIBC_RUNTIME_PREFIX="/" -DLDSO_ELFINTERP="mips/elfinterp.c"                                                                                                                                      
/home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/mips-linux-uclibc-gcc -c ldso/ldso/mips/resolve.S -o ldso/ldso/mips/resolve.os -include ./include/libc-symbols.h -Wstrict-prototypes -fno-strict-aliasing -mips32 -march=4kc -mtune=4kc -mabi=32 -fno-stack-protector -fno-builtin -nostdinc -I./include -I. -fno-builtin-memcpy -fno-builtin-memset -msoft-float -Os -funit-at-a-time -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -mno-split-addresses -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/mips -I./libpthread/linuxthreads.old/sysdeps/mips -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux -I./libpthread/linuxthreads.old/sysdeps/pthread -I./libpthread/linuxthreads.old -I./libpthread -I/home/matthias/dsmod/neu/7390_branch/source/kernel/ref-iks-16mb_26-7390_04.84/linux/include/ -isystem /home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.2.4/include -isystem /home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.2.4/include-fixed -DNDEBUG -mno-split-addresses -fPIC -DNOT_IN_libc -DIS_IN_rtld -fno-stack-protector -fno-omit-frame-pointer -I./ldso/ldso/mips -I./ldso/include -I./ldso/ldso -DUCLIBC_RUNTIME_PREFIX="/" -DUCLIBC_LDSO="ld-uClibc.so.0" -D__ASSEMBLER__ -Wa,--noexecstack                                                 
install -d lib/                                                                                                                                                                                                      
rm -f lib/libdl.a                                                                                                                                                                                                    
/home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/mips-linux-uclibc-strip -x -R .note -R .comment ldso/libdl/libdl.os ldso/ldso/mips/resolve.os                
/home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/mips-linux-uclibc-ar cr lib/libdl.a ldso/libdl/libdl.os ldso/ldso/mips/resolve.os                            
/home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/mips-linux-uclibc-gcc -c libpthread/linuxthreads.old/pthread.c -o libpthread/linuxthreads.old/pthread.os -include ./include/libc-symbols.h -Wstrict-prototypes -fno-strict-aliasing -mips32 -march=4kc -mtune=4kc -mabi=32 -fno-stack-protector -fno-builtin -nostdinc -I./include -I. -fno-builtin-memcpy -fno-builtin-memset -msoft-float -Os -funit-at-a-time -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -mno-split-addresses -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/mips -I./libpthread/linuxthreads.old/sysdeps/mips -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux -I./libpthread/linuxthreads.old/sysdeps/pthread -I./libpthread/linuxthreads.old -I./libpthread -I/home/matthias/dsmod/neu/7390_branch/source/kernel/ref-iks-16mb_26-7390_04.84/linux/include/ -isystem /home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.2.4/include -isystem /home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.2.4/include-fixed -DNDEBUG -mno-split-addresses -fPIC -DNOT_IN_libc -DIS_IN_libpthread
install -d lib/
rm -f lib/libpthread.a
/home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/mips-linux-uclibc-strip -X --strip-debug -R .note -R .comment libpthread/linuxthreads.old/attr.os libpthread/linuxthreads.old/cancel.os libpthread/linuxthreads.old/condvar.os libpthread/linuxthreads.old/errno.os libpthread/linuxthreads.old/events.os libpthread/linuxthreads.old/join.os libpthread/linuxthreads.old/lockfile.os libpthread/linuxthreads.old/manager.os libpthread/linuxthreads.old/mutex.os libpthread/linuxthreads.old/oldsemaphore.os libpthread/linuxthreads.old/pt-machine.os libpthread/linuxthreads.old/ptfork.os libpthread/linuxthreads.old/ptlongjmp.os libpthread/linuxthreads.old/rwlock.os libpthread/linuxthreads.old/semaphore.os libpthread/linuxthreads.old/signals.os libpthread/linuxthreads.old/specific.os libpthread/linuxthreads.old/spinlock.os libpthread/linuxthreads.old/wrapsyscall.os libpthread/linuxthreads.old/pthread.os
/home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/bin/mips-linux-uclibc-ar cr lib/libpthread.a libpthread/linuxthreads.old/attr.os libpthread/linuxthreads.old/cancel.os libpthread/linuxthreads.old/condvar.os libpthread/linuxthreads.old/errno.os libpthread/linuxthreads.old/events.os libpthread/linuxthreads.old/join.os libpthread/linuxthreads.old/lockfile.os libpthread/linuxthreads.old/manager.os libpthread/linuxthreads.old/mutex.os libpthread/linuxthreads.old/oldsemaphore.os libpthread/linuxthreads.old/pt-machine.os libpthread/linuxthreads.old/ptfork.os libpthread/linuxthreads.old/ptlongjmp.os libpthread/linuxthreads.old/rwlock.os libpthread/linuxthreads.old/semaphore.os libpthread/linuxthreads.old/signals.os libpthread/linuxthreads.old/specific.os libpthread/linuxthreads.old/spinlock.os libpthread/linuxthreads.old/wrapsyscall.os libpthread/linuxthreads.old/pthread.os
make[1]: Verlasse Verzeichnis '/home/matthias/dsmod/neu/7390_branch/source/toolchain-mips_gcc-4.2.4_uClibc-0.9.29/uClibc-0.9.29'
touch -c /home/matthias/dsmod/neu/7390_branch/source/toolchain-mips_gcc-4.2.4_uClibc-0.9.29/uClibc-0.9.29/lib/libc.a
make -C /home/matthias/dsmod/neu/7390_branch/source/toolchain-mips_gcc-4.2.4_uClibc-0.9.29/uClibc-0.9.29 \
                LOCALE_DATA_FILENAME=uClibc-locale-030818.tgz V=1 \
                PREFIX=/ \
                DEVEL_PREFIX=/home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/usr/ \
                RUNTIME_PREFIX=/home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/usr/ \
                install_runtime install_dev
make[1]: Betrete Verzeichnis '/home/matthias/dsmod/neu/7390_branch/source/toolchain-mips_gcc-4.2.4_uClibc-0.9.29/uClibc-0.9.29'
install -d //home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/usr/lib
install -m 644 lib/lib*-0.9.29.so \
                //home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/usr/lib
cd lib && tar -cf - *.so.* | tar -xf - -C //home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/usr/lib
tar: error while loading shared libraries: libpthread.so.0: ELF file data encoding not little-endian
tar: error while loading shared libraries: libpthread.so.0: ELF file data encoding not little-endian
make[1]: *** [install_runtime] Fehler 127
make[1]: Verlasse Verzeichnis '/home/matthias/dsmod/neu/7390_branch/source/toolchain-mips_gcc-4.2.4_uClibc-0.9.29/uClibc-0.9.29'
make: *** [/home/matthias/dsmod/neu/7390_branch/toolchain/build/mips_gcc-4.2.4_uClibc-0.9.29/mips-linux-uclibc/usr/lib/libc.a] Fehler 2

Hat vielleicht einer eine Idee? Habe bisher die Lösung noch nicht gefunden. Danke
 
Zuletzt bearbeitet:
Moin,
dein Ubuntu hat auch sämtliche erforderlichen Pakete installiert?
 
Wir hatten sowas ähnliches schonmal. Hier wird das tar vom host aufgerufen. Irgendwie kommt er aber mit den Libraries durcheinander.

MfG Oliver
 
Das Ticket macht den Eindruck, als hätte derjenige selbst den LD_LIBRARY_PATH gesetzt.

Ist das hier auch der Fall? (echo $LD_LIBRARY_PATH)
 
Hey, erstmal vielen Dank, dass ihr euch mit dem Problem beschäftigt.

@colonia27: ja alle nötigen Programme sind installiert und aktuell.

@Allgemein: Die Vermutung stimmt ich habe den $LD_LIBRARY_PATH für meinen Benutzer gesetzt, werde gleich mal schauen, ob es durch läuft, wenn ich das rausnehme.

Kann man das Problem irgendwie umgehen? Oder muss ich den $LD_LIBRARY_PATH für Freetz immer löschen?
 
Wo hast du den Pfad denn hingesetzt? Hast du einen bestimmten Grund dafür?

MfG Oliver
 
Ich habe den Pfad im meiner .bashrc gesetzt, weil ich dort ein paar Libs liegen habe, die ich für Programme von meiner Diplomarbeit brauchte und nicht immer in /usr...-Bereich legen wollte, weil ich dort nicht auf allen Testrechner Zugang hatte.


Aber ich denke mal, dass ist eher ein recht spezielles Problem und wahrscheinlich bei mir allein, von daher müsst ihr dem nicht unbedingt nachgehen, wenn die Lösung nicht gerade minimal und trivial sein sollte. Wenn ich den LD_LIBRARY_PATH rasunehme läuft der Build weiter.

Aktuell habe ich nur noch das Problem, dass die fw-Datei nicht mehr mit der Checksumme übereinstimmt.
Code:
Download succeeded - ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/firmware/deutsch/FRITZ.Box_Fon_WLAN_7390.84.04.86.image  ->  saved to folder dl/fw
MD5 mismatch for dl/fw/FRITZ.Box_Fon_WLAN_7390.84.04.86.image: 9938487a3b26e9176bf7139187ed3fc8 327456e5ecdaceba34e03b73114fd742
 
Ich glaube er hat . (i.e. den aktuellen Pfad) in seinem LD_LIBRARY_PATH...

Edit: oops war zu langsam :)
 
nein den habe ich dort nicht drinn, sondern einen definierten Ablageplatz für die Libs.

PS: Das FW-Dlownload-Problem kann man umgehen indem man die FW per Hand nach ld/fw lädt, aber ich wundere mich doch etwas, dass die Checksumme nicht stimmt.
 
Wieso findet dann tar vom host (little-endian) eine library von target (big-endian) ?
 
AVM scheint da eine andere FW abgelegt zu haben.
Die derzeitig auf dem ftp Verfügbare hat:
Code:
327456e5ecdaceba34e03b73114fd742
Die in meinem dl-Ordner hat ebenfalls noch die von dir beschriebene
 
Code:
matthias@laptop:~$ echo $LD_LIBRARY_PATH
:/home/matthias/.lib
matthias@laptop:~$ ll /home/matthias/.lib
insgesamt 272K
drwxr-xr-x   2 matthias matthias 4,0K 2009-08-21 09:36 .
drwxr-xr-x 111 matthias matthias 4,0K 2010-10-07 12:11 ..
-rw-r--r--   1 matthias matthias 5,2K 2008-06-28 10:55 libj3dcore-ogl-cg.so
-rw-r--r--   1 matthias matthias 156K 2008-06-28 10:55 libj3dcore-ogl.so
-rwxrwxrwx   1 matthias matthias  90K 2009-08-03 18:58 libraw1394.a

-----

interessant, dass AVM die FW ändert oder die Version zu ändern. Gibts dort nen Unterschied?
 
Code:
:/home/matthias/.lib
Scheibar wird in der auf Deinem Buildsystem verwendeten Implementierung von libc (glibc?) leerer Pfad nicht als Ausnahme behandelt (uClibc macht das glaube ich) und somit wird auch in dem aktuellen Pfad nach den Libraries gesucht...

D.h. LD_LIBRARY_PATH nicht einfach LD_LIBRARY_PATH="$LD_LIBRARY_PATH:MEIN_PFAD" setzen, sondern erst abfragen, ob es gesetzt ist
 
Es ist normal, daß ein leerer Eintrag im Pfad für das aktuelle Verzeichnis steht.

Und generell sollte man das aktuelle Verzeichnis nicht in den aktuellen Pfad aufnehmen, weil es ein Sicherheitsrisiko darstellt.
 
hmm, wusste bis jetzt nicht, dass ein leeres Verzeichnis als aktuelles Verzeichnis behandelt wird. Habe jetzt das setzen in der .bashrc mit einem vorherigen Überprüfen ob gesetzt und einer if-Verzweigung verbessert und siehe da, es geht. Man lernt ja nie aus. :)

Ich Danke euch auf jeden Fall sehr!
 
Du kannst auch diese Konstruktion verwenden:
Code:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}/home/matthias/.lib
Wenn LD_LIBRARY_PATH schon einen Wert hat, wird $LD_LIBRARY_PATH: vornangestellt, sonst nichts.

Noch einfacher ist es, davon auszugehen, daß LD_LIBRARY_PATH beim Login nicht gesetzt ist.
 
ahh danke :)
 
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.