Freetz und PHP

garibaldi.1980

Neuer User
Mitglied seit
20 Apr 2007
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,

ich benötige in PHP folgenden Unterstützungen:
- gettext
- mcrypt

Diese Optionen kann ich das über menuconfig nicht auswählen; wie kann ich PHP dennoch entsprechend kompilieren, dass gettext und mcrypt funktionieren?

Danke und Grüße!
 
Bisher sind beide nicht inkludiert.
gettext könnte man bei php noch hinzufügen, da die Blibliothek schon in freetz ist. mcrypt muss man erst integrieren, dann könnte man es auch als Kompilieroption bei php hinzufügen.
 
Vielen Dank für die Antwort!

Hast Du ggf. einen Link auf Hinweise, wie ich sowohl gettext als auch mcrypt integrieren könnte? Zunächst wäre mit gettext wichtiger als mcrypt...
Oder lässt sich das mit wenigen Worten beschreiben?

Danke und Gruß!
 
Zuletzt bearbeitet:
Wow, dank Dir, vielen lieben Dank!

Muss ich dann nur noch kompilieren, bin leider noch nicht dazu gekommen...
 
Für Feedback wäre ich dankbar. Hab nur überprüft, dass es sich auch kompilieren lässt, aber nicht wirklich genutzt.
 
Leider läuft der Compilier-Vorgang nicht durch... Ich krieg immer nen Abbruch an der selben Stelle.
Gibt es evtl. noch Abhängigkeiten, die ich ggf. manuell auflösen muss, zu Libraries o.ä.? Hab auch freetz-devel nochmal komplett neu geholt.

Kompiliere mit make php-precompiled, PHP wird statisch gelinked...

Kann auch gerne die letzten Ausgaben des Compilier-Vorgangs anhängen, ebenso die .config, wenn es hilft...
 
Ausgaben und Konfiguration wären schon hilfreich.
 
@opto: meinst Du MySQL? Wenn ja, dann fehlen dafür auch die entsprechenden Libs in Freetz.
 
Dann werde ich es bei Gelegenheit nochmal mit einer jungfräulichen Konfiguration versuchen.
Wenn es bei opto geklappt hat, sollte es bei mir ja auch funktionieren ;-)
 
So, jetzt heb ich nochmal versucht zu kompilieren, es läuft aber wieder nicht durch...

@opto: Wie hast Du kompiliert? Als static-binary?

Die letzten Zeilen des Kompiliervorganges lauten:
Code:
collect2: error: ld returned 1 exit status
make[1]: *** [sapi/cli/php] Fehler 1
make[1]: *** Warte auf noch nicht beendete Prozesse...
ext/standard/.libs/filestat.o: In function `zif_touch':
filestat.c:(.text.zif_touch+0x26c): warning: the use of OBSOLESCENT `utime' is discouraged, use `utimes'
ext/standard/.libs/dns.o: In function `zif_gethostbyaddr':
dns.c:(.text.zif_gethostbyaddr+0xac): warning: gethostbyaddr is obsolescent, use getaddrinfo() instead.
ext/sockets/.libs/sockets.o: In function `zif_socket_create_listen':
sockets.c:(.text.zif_socket_create_listen+0x7c): warning: gethostbyname is obsolescent, use getnameinfo() instead.
/home/garibaldi/freetz-devel/toolchain/build/mips_gcc-4.8.5_uClibc-0.9.33.2-nptl/mips-linux-uclibc/usr/lib/libpthread.a(lowlevellock.os): In function `__lll_lock_wait_private':
lowlevellock.c:(.text+0x0): multiple definition of `__lll_lock_wait_private'
/home/garibaldi/freetz-devel/toolchain/build/mips_gcc-4.8.5_uClibc-0.9.33.2-nptl/mips-linux-uclibc/usr/lib/libc.a(libc-lowlevellock.os):libc-lowlevellock.c:(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [sapi/cgi/php-cgi] Fehler 1
make[1]: Leaving directory `/home/garibaldi/freetz-devel/source/target-mips_gcc-4.8.5_uClibc-0.9.33.2-nptl/php-5.5.26'

ERROR: Build failed.
make: *** [source/target-mips_gcc-4.8.5_uClibc-0.9.33.2-nptl/php-5.5.26/sapi/cgi/php-cgi] Fehler 1

Ich lasse statisch kompilieren und habe aus der .config alles rausgenommen außer PHP. PHP 5.5.26 inkl. PHP CLI, mit allen Features...

Gibt es irgendwelche Abhängigkeiten, die ggf. nicht automatisch aufgelöst werden?

Danke und Grüße!
 
Der eigentliche Fehler wird nicht angezeigt. Mach bitte mal

Code:
make php-distclean
make php-precompiled 2>&1 | tee php-precompiled.log

und hänge hier die dabei erzeugte Logdatei an.

Warum muss es eigentlich statisch sein? Nutzt Du freetz nur zum Kompilieren, aber es ist nicht auf der Box?
 
Hi!

Ich kompiliere statisch, da es für mich praktischer ist, ab und an mal PHP neu zu übersetzen (und bei PHP ändert sich gefühlt doch öfter mal was...) und die binary dann einfach in den entsprechenden Ordner vom Lighttpd zu schieben, als ne komplette Firmware zu flashen. Aber vielleicht denke ich hier auch zu kompliziert :)

Ich habe die Log-Datei mal angehängt, ist aber recht groß das Ding - musste es zippen...

Dank Dir schonmal!

Anhang anzeigen php-precompiled.log.zip
 
Sieht so aus als würde dieser Upstream-Commit den Fehler beheben, wurde in diesem Thread auf der uClibc-Mailingliste diskutiert.

Ich könnte den Patch committen, würde aber nur wegen dem Fix keine neue Download-Toolchain bauen wollen. Im Zuge der Anpassungen für Labor 6.35 bzw. Kernel-3.10.x müssen weitere uClibc-Patches aufgenommen werden. Um Aufwand zu reduzieren, würde ich erst danach eine neue Download-Toolchain zur Verfügung stellen wollen.

@Giuseppe: für Dich heißt es abwarten bis ich den Fix committet habe, dann auf selbstgebaute Toolchain umstellen und alles von vorne bauen.
 
Hallo zusammen,

vielen lieben Dank für Eure Hilfe!
Bitte kein Stress deswegen machen!
Wenn es soweit ist, dann werde ich mein Glück versuchen :)

Euch ein schönes Wochenende!
 
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.