Joined: 04 Jun 2007 Posts: 9 Location: Germany, Ingolstadt
Posted: Wed Jun 06, 2007 19:09 Post subject: Probleme beim Kompilieren
Habe mal hier gelesen, dass man selber DD-WRT-Firmware aus dem Quellcode erstellen kann.
Ich wollte eh schon immer mal Linux installieren, also schnell mal die neuste Ubuntu-CD runtergeladen, installiert und erstmal
Code:
svn co svn://svn.dd-wrt.com/DD-WRT DD-WRT
versucht. Da kam zwar irgendso ein Fehler, aber nachdem ich mit "apt-get install" irgendwas mit svn-package installiert habe, konnte ich die paar Gigabytes runterladen.
Zuerst kam da irgendwas mit ncurses fehlt:
Code:
root@alexander-laptop:/media/disk/DD-WRT/src/router# make -f Makefile.ar531x
Makefile.ar531x:15: .config: No such file or directory
Illegal option -l
rules/bridge.mk:4: Warnung: Die Befehle für das Ziel »bridge« werden überschrieben
rules/bridge.mk:2: Warnung: Alte Befehle für das Ziel »bridge« werden ignoriert
rules/iptables.mk:35: Warnung: Die Befehle für das Ziel »iptables-clean« werden überschrieben
rules/iptables.mk:2: Warnung: Alte Befehle für das Ziel »iptables-clean« werden ignoriert
cp config/defconfig .config
make oldconfig
make[1]: Betrete Verzeichnis '/media/disk/DD-WRT/src/router'
rules/bridge.mk:4: Warnung: Die Befehle für das Ziel »bridge« werden überschrieben
rules/bridge.mk:2: Warnung: Alte Befehle für das Ziel »bridge« werden ignoriert
rules/iptables.mk:35: Warnung: Die Befehle für das Ziel »iptables-clean« werden überschrieben
rules/iptables.mk:2: Warnung: Alte Befehle für das Ziel »iptables-clean« werden ignoriert
make -C config
make[2]: Betrete Verzeichnis '/media/disk/DD-WRT/src/router/config'
/usr/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld gab 1 als Ende-Status zurück
-e
>> Unable to find the Ncurses libraries.
>>
>> You must have Ncurses installed in order
>> to use 'make menuconfig'
>>
>> Maybe you want to try 'make config', which
>> doesn't depend on the Ncurses libraries.
Dann habe ich mir mit "apt-get install evms-ncurses" da irgendwas installiert, was ich für richtig hielt.
Nun kommt folgender Fehler:
Code:
root@alexander-laptop:/media/disk/DD-WRT/src/router# make -f Makefile.ar531x
rules/bridge.mk:4: Warnung: Die Befehle für das Ziel »bridge« werden überschrieben
rules/bridge.mk:2: Warnung: Alte Befehle für das Ziel »bridge« werden ignoriert
rules/iptables.mk:35: Warnung: Die Befehle für das Ziel »iptables-clean« werden überschrieben
rules/iptables.mk:2: Warnung: Alte Befehle für das Ziel »iptables-clean« werden ignoriert
echo "#define BUILD_DATE \"06/06/07\"" > ../../opt/build.h
#umount /media/disk/DD-WRT/src/router/mipsel-uclibc/target
rm -rf /media/disk/DD-WRT/src/router/mipsel-uclibc/target
rm -rf /media/disk/DD-WRT/src/router/mipsel-uclibc/install
rm -rf /media/disk/DD-WRT/src/router/mipsel-uclibc/install
make -C matrixssl/src all
make[1]: Betrete Verzeichnis '/media/disk/DD-WRT/src/router/matrixssl/src'
mipsel-linux-uclibc-gcc -Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fPIC -DLINUX -I./ -I/media/disk/DD-WRT/src/include.v23 -c -o cipherSuite.o cipherSuite.c
make[1]: mipsel-linux-uclibc-gcc: Kommando nicht gefunden
make[1]: *** [cipherSuite.o] Fehler 127
make[1]: Verlasse Verzeichnis '/media/disk/DD-WRT/src/router/matrixssl/src'
make: *** [matrixssl] Fehler 2
root@alexander-laptop:/media/disk/DD-WRT/src/router# apt-cache search mipsel-linux
root@alexander-laptop:/media/disk/DD-WRT/src/router# apt-cache search mipsel
gcc-3.4 - The GNU C compiler
dietlibc - diet libc shared libraries - a libc optimized for small size
dietlibc-dev - diet libc - a libc optimized for small size
dietlibc-doc - diet libc documentation - a libc optimized for small size
g++-3.4 - The GNU C++ compiler
kernel-image-netbootable - net-bootable kernel for use with diskless systems
type-handling - dpkg architecture generation script
Und egal, wie oft ich da jetzt "make -f Makefile.ar531x" eingebe, kommt immer folgender Fehler:
Code:
root@alexander-laptop:/media/disk/DD-WRT/src/router# make -f Makefile.ar531x
rules/bridge.mk:4: Warnung: Die Befehle für das Ziel »bridge« werden überschrieben
rules/bridge.mk:2: Warnung: Alte Befehle für das Ziel »bridge« werden ignoriert
rules/iptables.mk:35: Warnung: Die Befehle für das Ziel »iptables-clean« werden überschrieben
rules/iptables.mk:2: Warnung: Alte Befehle für das Ziel »iptables-clean« werden ignoriert
echo "#define BUILD_DATE \"06/06/07\"" > ../../opt/build.h
#umount /media/disk/DD-WRT/src/router/mipsel-uclibc/target
rm -rf /media/disk/DD-WRT/src/router/mipsel-uclibc/target
rm -rf /media/disk/DD-WRT/src/router/mipsel-uclibc/install
rm -rf /media/disk/DD-WRT/src/router/mipsel-uclibc/install
make -C matrixssl/src all
make[1]: Betrete Verzeichnis '/media/disk/DD-WRT/src/router/matrixssl/src'
mipsel-linux-uclibc-gcc -Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fPIC -DLINUX -I./ -I/media/disk/DD-WRT/src/include.v23 -c -o cipherSuite.o cipherSuite.c
make[1]: mipsel-linux-uclibc-gcc: Kommando nicht gefunden
make[1]: *** [cipherSuite.o] Fehler 127
make[1]: Verlasse Verzeichnis '/media/disk/DD-WRT/src/router/matrixssl/src'
make: *** [matrixssl] Fehler 2
root@alexander-laptop:/media/disk/DD-WRT/src/router#
beim kompilieren von dd-wrt wirst du dir die zähne ausbeißen, besser du verwendest die zeit für etwas sinnvollerem. bei dem versuch dd-wrt zu kompilieren haben schon etliche andere das vor dir das handtuch geworfen.
dd-wrt ist nicht dafür gemacht, dass man es kompilieren kann. wenn du kompilieren willst verwende openwrt.
Joined: 04 Jun 2007 Posts: 9 Location: Germany, Ingolstadt
Posted: Thu Jun 07, 2007 9:25 Post subject:
Also
Code:
apt-cache search uclibc
hat
Code:
libuclibc-dev - A small implementation of the C library
libuclibc0 - A small implementation of the C library
uclibc-toolchain - A compiler wrapper for uClibc
rausgespuckt und ich habe die 3 Packages dann auch installiert. Aber es kommt der selbe Fehler.
Ich versuche jetzt mal die aktuellen Toolchains runterzuladen.
Last edited by PsychoMantis on Thu Jun 07, 2007 9:52; edited 2 times in total
Es werden zwei toolchains benötigt, zusätzlich müssen die PATH Variablen auch entsprechend gesetzt werden (s. Link zum Wiki in vorheriger Antwort von trixor).
Joined: 04 Jun 2007 Posts: 9 Location: Germany, Ingolstadt
Posted: Thu Jun 07, 2007 9:52 Post subject:
Habe zwar die aktuellen Toolchains jetzt runtergeladen und die im Rootverzeichnis von dem Laufwerk entpackt, wo auch der DD-WRT-Ordner ist (da stand ja "Unpack the toolchains wherever you desire"), aber irgendwie komme ich nicht weiter.
EDIT: Vor allem das "zusätzlich müssen die PATH Variablen auch entsprechend gesetzt werden" checke ich einfach nicht.
0. Run ready_ddwrt.sh and ready_ddwrt_root.sh (the scripts are below).
1. Add the 4.1.0 toolchains bin folder to your path environment variable. i.e.
PATH=$PATH:/home/db90h/toolchains/4.1.0-uclibc/bin
Nachdem man die Scripte ready_ddwrt.sh und ready_ddwrt_root.sh für sein System entsprechend angepasst und ausgeführt hat:
Code:
PATH=$PATH:/????/????/toolchains/4.1.0-uclibc/bin
in die Shell eingeben. ???? durch eigene Pfadangaben ersetzen!