Mist ... dann hast Du erst mal alles getestet, was mir in den Sinn kam, wobei die Ausgabe des letzten Laufs (wo dank des "--verbose" ja mehr zu sehen sein sollte) wohl noch fehlt. Ich muß jetzt für ca. 2 Stunden weg, danach werfe ich mal ein Build mit Deiner Konfiguration bei mir an - die Toolchain für GRX5-Boxen mit 07.12 ist ja schon fertig.
=======================================================================================
Bei der nächsten Gelegenheit solltest Du Dein Kennwort für den privaten Schlüssel, den Du zum Signieren von Images verwendest, ändern ... die oben stehende ".config" enthält dieses Kennwort.
Das ist eine Schwachstelle, die mir schon länger bewußt ist, zu deren Beseitigung ich aber bisher noch nichts unternommen habe (ist eigentlich auch "nicht mein Tisch", weil ich die Implementierung in Freetz nicht vorgenommen habe) - die beste Lösung ist und bleibt es eigentlich, dieses Kennwort gar nicht erst in der ".config" zu speichern, sondern in einer (versteckten, also mit einem Punkt am Beginn des Namens) Datei irgendwo in einem Verzeichnis, wo ausschließlich der verwendete Benutzer Zugriff hat, z.B. in seinem eigenen Home-Verzeichnis.
Ich muß mal sehen, ob ich sowohl diese Änderung als auch eine Art "Diagnose-Skript", was automatisch ein "fmake" anstelle des "make" verwendet und das Ergebnis dann - zusammen mit der komprimierten ".config", die dann auch kein Kennwort mehr enthält - in Form einer ZIP-Datei für den Upload bei einer Fehlermeldung bereitstellt, auf die Reihe kriege. Die einfachste Änderung, bei der in der ".config.compressed" (die erstellt man mit einem "make config-compress") das Kennwort entfernt wird (diese Datei ist dann quasi ein "Extrakt" aus den Einstellungen, wo nur noch die ggü. dem Standard geänderten Werte aufgeführt sind und man so auch viel besser sieht, was da geändert wurde), habe ich gleich mal als Pull-Request ausgeführt, damit ich das nicht wieder vergesse:
https://github.com/Freetz/freetz/pull/283
====================================================================================
Ein Build mit Deiner Konfiguration läuft jetzt jedenfalls gerade auf meinem RasPi 4 und das dauert halt eine Weile - andere Rechner auf x86-Basis und mit mehr Power, arbeiten bei mir nicht mit Debian-basierten Systemen und damit ist der RasPi mit Raspbian immer noch das System, was der "Empfehlung" (also Ubuntu, afaik) am nächsten kommt.
Ich kann also noch nicht abschließend sagen, ob ich den Fehler reproduzieren kann - gestern habe ich das nicht mehr geschafft, weil aus zwei geplanten Stunden Abwesenheit deutlich mehr wurden.
====================================================================================
EDIT: Ich kann den Fehler bei mir nachstellen - jetzt kann es etwas dauern, bis ich die Ursache gefunden habe. Nach jeder Änderung an der "php.mk" geht der Build für PHP ja wieder von vorne los und das Paket ist etwas umfangreicher.
=======================================================================================
Ich hätte zumindest einen Workaround für Dich, mit dem Du die PHP-Binaries doch noch mit den gewählten Einstellungen erzeugen kannst.
Dazu müßtest Du in der Datei "toolchain/build/mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/mips-linux-uclibc/usr/lib/libcurl.la" die folgende Zeile stehen haben:
Rich (BBCode):
dependency_libs=' -L/media/pi/extern_10_320/pi4/builds/7590/toolchain/build/mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/mips-linux-uclibc/usr/lib -lpthread -lssl -lcrypto -ldl'
Diese Datei wird aber erst erstellt, wenn das "curl"-Paket übersetzt wird ... das geht also erst nachdem das ohne Probleme durchlief und beim PHP der Fehler auftritt.
Die Einstellungen da drin übersteuern die Angaben für "libtool" auf der Kommandozeile für die "libcurl.a" und daher blieben die bisherigen Versuche auch erfolglos.
Wenn Du das beim ersten Auftreten des Fehlers beim PHP-Paket entsprechend anpaßt, sollte das Linken auch funktionieren, wenn Du das "make" noch einmal aufrufst.
Ich muß mich erst mal durch die ganzen Abhängigkeiten durchgraben, um die passende Stelle zu finden, wo diese zusätzliche Library hinzugefügt werden kann beim "make" für das "curl"-Paket und das dann möglichst auch noch so, daß es nur dann geändert wird, wenn eine "uClibc-ng" als C-Library verwendet wird.
Das kann nun auch wieder noch etwas dauern ... aber Du hättest ja erst einmal eine Lösung.
==========================================================================================
Bei der "box_info.cgi" ist die Änderung ja trivial. Kriegst Du das ggf. selbst hin? Die passende Quelle für die Info habe ich in #6 ja schon gezeigt und es reicht dann natürlich, wenn Du nur eine einzelne "cpu" ausliest und nur einen Wert anzeigst, weil die max. Taktfrequenz für alle dieselbe wäre - im Gegensatz zur aktuellen Frequenz, die unterschiedlich sein könnte. Den Teil mit dem "TFFS" kann man einfach komplett rauswerfen, eine 7590 hat gar keinen SPI-Flash.
EDIT: Langeweile ... daher hier noch ein Vorschlag für einen Patch der "box_info.cgi":
Code:
diff --git a/make/mod/files/root/usr/lib/cgi-bin/mod/box_info.cgi b/make/mod/files/root/usr/lib/cgi-bin/mod/box_info.cgi
index b3b521a07..76ae7ed52 100755
--- a/make/mod/files/root/usr/lib/cgi-bin/mod/box_info.cgi
+++ b/make/mod/files/root/usr/lib/cgi-bin/mod/box_info.cgi
@@ -48,8 +48,7 @@ if [ -r /proc/cpuinfo ]; then
cpu_family=$(sed -ne '/system type/ s/.*: //p' /proc/cpuinfo | sed 's/Ikanos Fusiv.*/IKS/')
cpu_model=$(sed -ne '/cpu model/ s/.*: //p' /proc/cpuinfo | head -n1)
cpu_cores=$(grep $'^processor\t*:' /proc/cpuinfo | wc -l)
- cpu_bogom="$(sed -ne '/BogoMIPS/ s/.*: //p' /proc/cpuinfo)"
- cpu_bogom="$(echo $cpu_bogom | sed 's! ! / !g')"
+ cpu_bogom="$(sed -ne '/BogoMIPS/ s/.*: //p' /proc/cpuinfo | sed -ne "1p")"
else
cpu_family=""
@@ -100,7 +99,6 @@ echo "</dl>"
if [ -n "$_CONFIG_NAND$_CONFIG_TFFS" ]; then
echo "<dl class='info'>"
echo "<dt>NAND</dt><dd>$_CONFIG_NAND MB</dd>"
-echo "<dt>TFFS</dt><dd>$_CONFIG_TFFS MB</dd>"
echo "</dl>"
fi
@@ -115,6 +113,8 @@ if [ -e /proc/clocks -o -e /proc/sys/urlader/environment ]; then
echo "<dt>$(lang de:"Taktfrequenzen" en:"Clock frequencies")</dt><dl>"
if [ -e /proc/clocks ]; then
sed 's/ [ ]*/ /g;s/^Clocks: //;s/^[A-Z0-9 ]*Clock: //;s/\([A-Za-z0-9]*\):[ ]*\([0-9,.]*\)[ ]*\([a-zA-Z]*\) */<dt>\1<\/dt><dd>\2 \3<\/dd>/g;' /proc/clocks 2>/dev/null
+ elif [ -e /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq ]; then
+ echo "<dt>CPU Cores $(cat /sys/devices/system/cpu/present)</dt><dd>$(( $(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq) / 1000 )) MHz</dd>"
else
_CPU_FRQ="$(sed -n 's/^cpufrequency\t//p' /proc/sys/urlader/environment | awk '{ printf "%.0f", $1 /1000/1000 }')"
_SYS_FRQ="$(sed -n 's/^sysfrequency\t//p' /proc/sys/urlader/environment | awk '{ printf "%.0f", $1 /1000/1000 }')"
Der funktioniert halt nur für GRX5-Boxen und wirft die TFFS-Angabe einfach raus.
Gleichzeitig wird für die gefundenen Cores die max. Taktfrequenz ausgegeben (und zwar auch nur auf volle MHz gerundet, weil ich keinen Bock hatte, das erst noch durch "awk" zu jagen, um da Kommastellen zu kriegen).
Die Angaben zu den "BogoMIPS" sind ohnehin Unfug, weil die von der aktuell eingestellten Taktfrequenz abhängen - da wird man also schwankende Werte sehen, je nach Auslastung der Box.
Alles in allem ist das auch eher ein "Notnagel" ... eine sinnvolle Anzeige von Hardware-Infos müßte sich eben auch auf die speziellen Eigenschaften der Hardware beziehen und nicht auf diesen "Käse", der in der Vergangenheit ja mal hilfreich gewesen sein mag, aber bei Stromsparmechanismen im SoC dann nur noch wenig aussagekräftig ist.