[Tutorial] Eigene Programme für DD-WRT auf dem Router selbst kompilieren

Hallo zusammen,

da ich mir letzt den Reverse-Proxy pound in der neusten Version kompilieren musste, schadet es nicht die einzelnen Schritte festzuhalten!

Voraussetzung ist, dass bereits der Paketmanager ipkg auf eurem DD-WRT Router läuft. Nähere Infos zur Installation findet man im DD-WRT Wiki. Empfehlen würde ich gleich diverse nützliche Pakete in einem Rutsch zu installieren. Es bietet sich z.B. an Optware – The right way von frater zu installieren, oder noch bessere, Optware – The right way – TAKE 2 enhanced by basmaf. Bas hat sich die Mühe gemacht MyPage in OTRW zu integrieren. Wirklich nett und gut gelungen, kann ich nur empfehlen.

Zurück zum kompilieren, zuerst müssen wir ein paar Pakete nachinstallieren, das dauert einige Zeit:

ipkg update
ipkg install optware-devel build-root

Falls wget installiert ist, bekommt man am Schluß eine Fehlermeldung:

An error ocurred, return value: 1.
Collected errors:
ERROR: The following packages conflict with wget-ssl:
wget

Dies löst man, indem man wget deinstalliert und das Paket optware-devel nochmals installiert:

ipkg remove wget
ipkg install optware-devel

Als nächstes habe ich versucht das ./configure script aufzurufen, um in meinem Fall pound zu kompilieren. Dies ist allerdings mit der folgenden Fehlermeldung gescheitert:

checking for gcc… no
checking for cc… no
checking for cl.exe… no
configure: error: in `/opt/Pound-2.6′:
configure: error: no acceptable C compiler found in $PATH

Das lässt sich folgermaßen beheben:

unset LD_LIBRARY_PATH

Allerdings musste ich auch im init.d-Script die Zeile an den Anfang stellen, ansonsten lief pound nicht.

Danach funktioniert pound aber wie er soll und verteilt unter anderem munter verschieden SSL-Zertifikate für alle meine Subdomains und stellt die Verbindung zum Backend her 🙂

Noch ein letzter Tipp am Rande, openSSL zu kompilieren dauert wirklich lange… Wenn man auf die Idee kommt das Nachts um 4 zu starten, so kann man getrost ins Bett gehen. Kommt nicht auf die Idee zu hoffen dass es bestimmt bald vorbei ist – ich bin bis halb 12 Mittags vor dem Rechner gesessen 😀 Pound war allerdings innerhalb von 10 Minuten kompiliert 😉
Zur Info: Ich habe einen Cisco E4200 mit einer 480MHz CPU und 64MB RAM + 128MB Swap Partition auf einem USB-Stick. Auf einer weniger potenten Kiste kann das ganze also wesentlich länger dauern, hier empfiehlt sich dann wirklich ein Cross-Compiler in einer VM.

Und nun viel Spaß beim Kompilieren!

Und wie immer gilt, falls das Tutorial gefallen hat würde ich mich über einen kleinen Kommentar freuen – das gleiche gilt natürlich auch für Kritik oder Verbesserungsvorschläge 😀 Natürlich dürft ihr auch gerne euren Adblocker auf Kopfkino deaktivieren und den kleinen Banner am Ende des Posts klicken – ist aber natürlich absolut freiwillig 😉 Die Werbung ist dezent gehalten und es gibt keine nervigen Flashbanner oder ähnliches 🙂 Einnahmen kommen vollständig neuen Projekten zu Gute 😀

Gruß iro

Veröffentlicht in Code, DD-WRT, Linux, Tutorials Getagged mit: , , , , , , , , ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*