Perl auf FB7390?

Skyscraper

Neuer User
Mitglied seit
2 Apr 2007
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Hallo!

Ich versuche seit Tagen für meine FritzBox 7390 Perl mit den Modulen IO::Sockets und CPAN Device::SerialPort cross zu compilieren um FHEM auf der 7390 mit CUL von Busware laufen zu lassen.

Leider bekomm ichs nicht hin. Hab schon diverse Sachen ausprobiert.
Vielleicht kann mir ja jemand dabei helfen?

Wär nett :)

Gruß
Skyscraper
 
Moin,
du solltest besser kurz anreissen WAS du schon versucht hast, sonste wiederholen wir hier den ganzen Kram aussm irc ;-)

ach ja, als nun Aktiver: Willkommen im Forum :)
 
du solltest besser kurz anreissen WAS du schon versucht hast
Ich hab mir aus dem 7390'er Freetz-Branch den MIPS-LINUX-GCC genommen und nach Anleitung von http://www.wehavemorefun.de/fritzbox/index.php/Cross-Compile_Toolchain und den Forenbeiträgen Post 1 / Post 2 einfach mal wget compiliert. Hat soweit auch gut geklappt. Ist laut "file" genau das was es sein soll. Habs allerdings noch nicht versucht auf der Box auszuführen.
Dann hab ich mir von Perl.org die aktuellen Perl-Sourcen runtergeladen und mir die "INSTALL" durchgeguckt und versucht die oben genannten Infos auch auf Perl anzuwenden... sowohl auf ./Configure als auch auf ./configure-gnu.sh
Dabei komme ich aber irgendwie nicht weiter, weil das Config-Script dann irgendwann eine Scratchbox in meinem Freetz-Branch sucht, wenn ich das richtig sehe. Die findet er aber nicht.

Jetzt weiß ich auch nicht weiter.

Gruß
Skyscraper
 
...
Dabei komme ich aber irgendwie nicht weiter, weil das Config-Script dann irgendwann eine Scratchbox in meinem Freetz-Branch sucht, wenn ich das richtig sehe. Die findet er aber nicht.
...
Dann solltest Du evtl. patchen, damit das Config-Script an der richtigen Stelle sucht und das findet was es braucht.;)
 
Wenn Du schon Freetz verwendest, warum suchst Du dann noch Scratchbox? Oder wenn Du Scratchbox verwenden willst, warum dann auch Freetz?

Scratchbox sollte für Programme transparent sein, warum such dann ein Configure-Skript nach Scratchbox?
 
Hallo.

Ich verstehe nicht ganz was du meinst. Ich hab jetzt nochmal ./configure.gnu ausgeführt und das Ergebnis einfach mal auf pastebin gepostet:

http://pastebin.com/dQXJq7cP

Vielleicht guckt sich das ja mal jemand an?

Danke

Gruß
Skyscraper
 
Scratchbox ist eine Umgebung zum Cross-Compilieren, einschließlich ein Cross-Compiler.. Freetz enthält einen Cross-Compiler. Normalerweise würde man nicht beides verwenden, sondern eines davon.

Woher kommt dieses configure.gnu, und woher hat es Dcc=/usr/mips-linux-uclibc/bin/mips-linux-gcc usw.? Ich glaube nicht, daß das standard Perl-Paket mit einer Datei kommt, die fest MIPS auswählt.
 
Woher kommt dieses configure.gnu, und woher hat es Dcc=/usr/mips-linux-uclibc/bin/mips-linux-gcc usw.? Ich glaube nicht, daß das standard Perl-Paket mit einer Datei kommt, die fest MIPS auswählt.
Das Perl-Paket enthält besagte configure.gnu - Und aus einem anderen Beitrag hier im Forum habe ich mir folgendes Script gebastelt was ich vorher ausgeführt habe:
Code:
#!/bin/bash
export PATH=$PATH:/usr/mips-linux-uclibc/bin
export CC=/usr/mips-linux-uclibc/bin/mips-linux-gcc
export CFLAGS="-O3 -march=24kec -mips16 -mdsp -static"
export LDFLAGS="-L/usr/mips-linux-uclibc/lib"
export CPPFLAGS="-I/usr/mips-linux-uclibc/include" 
export CPP="/usr/mips-linux-uclibc/bin/mips-linux-cpp"
export CROSS_COMPILE="mips-linux-"
export ARCH="mips-linux"
export CONFIG="--host i686-unknown-linux-gnu --target mips-linux"
/bin/bash

Das configure.gnu script übernimmt aus den Werten CC und CFLAGS seine Werte.

Mein Freetz liegt auf /media/d (lag ursprünglich auf /home/user/freetz-7390/freetz-branch-7390 welcher jetzt ein symlink zu /media/d/freetz-branch-7390 ist). Außerdem ist /usr/mips-linux-uclibc ein symlink auf /home/user/freetz-7390/freetz-branch-7390/toolchain/target/
Das aber nur nebenbei, denke nicht, dass das von bedeutung ist?

Gruß
Skyscraper
 
Der Symlink ist nicht von Bedeutung, aber daß Du vorher bestimmte Werte setzt schon. Verwendet Freetz für die 7390 diese Optionen? Auf den älteren Boxen bekäme man damit kein laufendes Programm zu Stande.

Aber Dein akutes Problem steht in den Zeilen 84 und 85, libgdbm und libgdbm_compat werden nicht gefunden. Du kannst versuchen, die Libraries wegzulassen. Wenn sie benötigt werden, mußt Du zuerst diese Libraries erstellen.
 
Der Symlink ist nicht von Bedeutung, aber daß Du vorher bestimmte Werte setzt schon. Verwendet Freetz für die 7390 diese Optionen? Auf den älteren Boxen bekäme man damit kein laufendes Programm zu Stande.
Keine Ahnung. Habs aus einem Forenbeitrag hier.

Aber Dein akutes Problem steht in den Zeilen 84 und 85, libgdbm und libgdbm_compat werden nicht gefunden. Du kannst versuchen, die Libraries wegzulassen. Wenn sie benötigt werden, mußt Du zuerst diese Libraries erstellen.
Sofern ich sie nicht weglassen kann: wie compilier ich die? Irgendwo sources runterladen und dann genauso mit make oderso?

Danke.

Gruß
Skyscraper
 
Versuche es erst einmal ohne die Libraries. Wenn sie doch benötigt werden, muß man sich das mal ansehen, das kann bei verschiedenen Programmen ganz unterschiedlich sein. Aber wenn Du Glück hast, funktioniert es auf die gleiche oder eine ähnliche Art.
 
Versuche es erst einmal ohne die Libraries. Wenn sie doch benötigt werden, muß man sich das mal ansehen, das kann bei verschiedenen Programmen ganz unterschiedlich sein. Aber wenn Du Glück hast, funktioniert es auf die gleiche oder eine ähnliche Art.
Ich hab mir via "apt-get source gdbm" die sources geladen und dank meinem shellscript und ./configure und make die lib"s compiliert und anschließend in den lib Ordner des Mips compilers kopiert.
Jetzt hab ich folgendes beim Perl ./configure.gnu

http://pastebin.com/Bn3C7yrx

Gruß
Skyscraper
 
Aus irgend einem Grund möchte dieses Skript Scratchbox verwenden. Ich weiß nicht, warum es dann überhaupt weiter macht, wenn sie nicht gefunden wird. Bisher habe ich noch nie perl selbst compiliert, erst Recht nicht für eine andere CPU.
 
Und was mach ich jetzt?
Ich weiß nicht weiter ;(
 
Im ganzen perl-5.12.2 kommt an keiner Stelle Scratchbox vor. Wieso also wird bei Dir versucht, Scratchbox zu verwenden?

Hast Du außer den export-Anweisungen aus [POST=1643507]#9[/POST] sonst noch etwas getan, was Du vielleicht mitteilen solltest?
 
Wenn Du Scratchbox installiert hast, warum wird sie dann nicht gefunden?
Und warum versucht das Configure von Perl Scratchbox aufzurufen, wenn ein solcher Aufruf in dem Skript gar nicht vorkommt?

Wenn Du Scratchbox installiert hast, warum verwendest Du sie dann nicht auf, um perl zu übersetzen?
 
Wenn Du Scratchbox installiert hast, warum wird sie dann nicht gefunden?
Und warum versucht das Configure von Perl Scratchbox aufzurufen, wenn ein solcher Aufruf in dem Skript gar nicht vorkommt?
Weiß ich nicht. Keine Ahnung woher der Aufruf kommt!

Wenn Du Scratchbox installiert hast, warum verwendest Du sie dann nicht auf, um perl zu übersetzen?
Weil ich keine Ahnung von Scratchbox habe und sie nur für Maemo genutzt habe.

LG
Skyscraper
 
Hat sonst niemand eine Idee?
Ich bekomms alleine nicht hin ;(

Gruß
Skyscraper
 
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.