[Gelöst] Freetz auf 7590 mit 8er FW -> build schlägt wegen busybox "sha1_process_block64_shaNI" fehl

BenGurion_

Mitglied
Mitglied seit
10 Nov 2005
Beiträge
259
Punkte für Reaktionen
5
Punkte
18
Hat schon jemand auf der Standard 7590 ein freetz-Image mit der der neuen 8er FW laufen?
Bei mir bricht der build mit folgender Meldung ab:
Code:
Freetz-NG 24843M-2000c1a9ea master 2024-11-05

--2024-11-06 18:12:34--  https://download.avm.de/fritzbox/fritzbox-7590/deutschland/fritz.os/FRITZ.Box_7590-08.00.image
...
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 40202240 (38M) [application/octet-stream]
Wird in ‘dl/fw/FRITZ.Box_7590-08.00.image’ gespeichert.

dl/fw/FRITZ.Box_7590-08.00.image              100%[================================================================================================>]  38,34M  21,3MB/s    in 1,8s

2024-11-06 18:12:36 (21,3 MB/s) - ‘dl/fw/FRITZ.Box_7590-08.00.image’ gespeichert [40202240/40202240]

Download succeeded - "https://download.avm.de/fritzbox/fritzbox-7590/deutschland/fritz.os/FRITZ.Box_7590-08.00.image"  ->  saved to folder "dl/fw"
Checksum disabled for dl/fw/FRITZ.Box_7590-08.00.image
cmd() { make -j2  "$@"  || { [ "2" = "0" ] && echo && cat .build.log 2>/dev/null; kill $$ 2>/dev/null || kill $$$$ 2>/dev/null; printf "\n\\033[33m%s\\033[m\n" "ERROR: Build failed.";  exit 1; } };                  mkdir -p source; [ -n "" ] && step="/" || step=""; [ -n "" ] && step="$step/"; case "" in BIN)  echo -n "package/"         >source/.echo_item_tmp ;; LIB)      echo -n "library/"         >source/.echo_item_tmp ;; HTL)       echo -n "tools/"           >source/.echo_item_tmp ;; KTC)       echo -n "toolchain/kernel$step" >source/.echo_item_tmp ;; TTC) echo -n "toolchain/target$step" >source/.echo_item_tmp ;; KRN)  echo -n "kernel"                 >source/.echo_item_tmp ;; esac; if ! diff -q source/.echo_item_tmp source/.echo_item_new >/dev/null 2>&1 || [ ! -e source/.echo_item_1st ]; then      if [ -e source/.echo_item_end -a -e source/.echo_item_new -a -e source/.echo_item_1st ]; then echo -e "\e[48;5;26mdone\e[49m."; rm -f source/.echo_item_end source/.echo_item_1st; fi; [ -s source/.echo_item_tmp ] && cat source/.echo_item_tmp > source/.echo_item_new 2>/dev/null; [ -s source/.echo_item_new ] || cat source/.echo_item_old > source/.echo_item_new 2>/dev/null; if [ -s "source/.echo_item_new" ]; then echo -ne "\e[48;5;90m---> "; cat source/.echo_item_new 2>/dev/null | tee source/.echo_item_old; echo -ne "\e[49m ... "; [ "2" != "0" ] && echo; touch source/.echo_item_end; touch source/.echo_item_1st; fi; fi; echo -ne "\e[48;5;56mbuilding\e[49m ... "; cmd CC="gcc" CXX="g++" CFLAGS="-Wall -O2" LDFLAGS="" -C /home/pi/freetz-ng/source/host-tools/busybox-1.37.0
---> tools/busybox-host ...
building ...   CC      libbb/hash_md5_sha.o
libbb/hash_md5_sha.c: In function ‘sha1_end’:
libbb/hash_md5_sha.c:1316:28: error: ‘sha1_process_block64_shaNI’ undeclared (first use in this function); did you mean ‘sha1_process_block64’?
   || ctx->process_block == sha1_process_block64_shaNI
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
                            sha1_process_block64
libbb/hash_md5_sha.c:1316:28: note: each undeclared identifier is reported only once for each function it appears in
make[3]: *** [scripts/Makefile.build:197: libbb/hash_md5_sha.o] Fehler 1
make[2]: *** [Makefile:744: libbb] Fehler 2
make[1]: *** [make/host-tools/busybox-host/busybox-host.mk:46: /home/pi/freetz-ng/source/host-tools/busybox-1.37.0/busybox] Beendet
make: *** [Makefile:47: envira] Beendet
 
Zuletzt bearbeitet:
Ich habe gestern unmittelbar nachdem der commit für FOS 8.0 auf der 7590 eingepflegt war ein Image gebaut und dieses läuft ( bei einem Bekannten ) bisher ohne Probleme.
 
Cool, dass es bei Dir geklappt hat - bei mir bricht der build halt mit obigem Fehler ab
 
Dann kann ich dir nur vorschlagen, deine freetz-ng Konfiguration zu sichern und anschließend freetz-ng komplett neu ( in ein zweites Verzechnis auf der HDD/SDD ) auszuchecken.
 
Sowas hatte ich in der Vergangenheit auch immer mal wieder versucht - ist nach meinem Kenntnisstand sinnlos.

Es liegt ja (sieht man am Log) daran, dass der CC-Prozess für "libbb/hash_md5_sha.o" auf die Bretter geht.
Da frage ich mich halt => wieso?
 
Was ich dazu gefunden hab, ist dieser Hinweis:

In der config finde ich zu HWACCEL nur folgendes:
Code:
Symbol: FREETZ_BUSYBOX_SHA1_HWACCEL [=n]                                                                                                                                       x
  x Type  : bool                                                                                                                                                                   x
  x Defined at config/.cache.in:51231                                                                                                                                              x
  x   Depends on: FREETZ_REPLACE_BUSYBOX [=y]                                                                                                                                      x
  x Selects: FREETZ_BUSYBOX___V137_SHA1_HWACCEL [=n]                                                                                                                               x
  x                                                                                                                                                                                x
  x                                                                                                                                                                                x
  x Symbol: FREETZ_BUSYBOX_SHA256_HWACCEL [=n]                                                                                                                                     x
  x Type  : bool                                                                                                                                                                   x
  x Defined at config/.cache.in:51240                                                                                                                                              x
  x   Depends on: FREETZ_REPLACE_BUSYBOX [=y]                                                                                                                                      x
  x Selects: FREETZ_BUSYBOX___V137_SHA256_HWACCEL [=n]                                                                                                                             x
  x                                                                                                                                                                                x
  x                                                                                                                                                                                x
  x Symbol: FREETZ_BUSYBOX___V137_SHA1_HWACCEL [=n]                                                                                                                                x
  x Type  : bool                                                                                                                                                                   x
  x Defined at config/.cache.in:61402                                                                                                                                              x
  x   Prompt: SHA1: Use hardware accelerated instructions if possible                                                                                                              x
  x   Depends on: FREETZ_REPLACE_BUSYBOX [=y] && FREETZ_BUSYBOX__VERSION_V137 [=y]                                                                                                 x
  x   Location:                                                                                                                                                                    x
  x     -> Busybox applets                                                                                                                                                         x
  x       -> Settings                                                                                                                                                              x
  x (1)     -> SHA1: Use hardware accelerated instructions if possible (FREETZ_BUSYBOX___V137_SHA1_HWACCEL [=n])                                                                   x
  x Selected by [n]:                                                                                                                                                               x
  x   - FREETZ_BUSYBOX_SHA1_HWACCEL [=n] && FREETZ_REPLACE_BUSYBOX [=y] && FREETZ_BUSYBOX__VERSION_V137 [=y]                                                                       x
  x                                                                                                                                                                                x
  x                                                                                                                                                                                x
  x Symbol: FREETZ_BUSYBOX___V137_SHA256_HWACCEL [=n]                                                                                                                              x
  x Type  : bool                                                                                                                                                                   x
  x Defined at config/.cache.in:61409                                                                                                                                              x
  x   Prompt: SHA256: Use hardware accelerated instructions if possible                                                                                                            x
  x   Depends on: FREETZ_REPLACE_BUSYBOX [=y] && FREETZ_BUSYBOX__VERSION_V137 [=y]                                                                                                 x
  x   Location:                                                                                                                                                                    x
  x     -> Busybox applets                                                                                                                                                         x
  x       -> Settings                                                                                                                                                              x
  x (2)     -> SHA256: Use hardware accelerated instructions if possible (FREETZ_BUSYBOX___V137_SHA256_HWACCEL [=n])                                                               x
  x Selected by [n]:                                                                                                                                                               x
  x   - FREETZ_BUSYBOX_SHA256_HWACCEL [=n] && FREETZ_REPLACE_BUSYBOX [=y] && FREETZ_BUSYBOX__VERSION_V137 [=y]
 
Zuletzt bearbeitet:
So ... Ich hab ja mit raspian (auf Debian 10) ein armf OS.
Also habe ich die Datei "source/host-tools/busybox-1.37.0/libbb/hash_md5_sha.c" in einem Tesvolume (nach Neu-Auschecken der gleiche Fehler) mal mit dem Patch aus obigem Link gepatcht:
Code:
--- a/libbb/hash_md5_sha.c
+++ b/libbb/hash_md5_sha.c
@@ -1313,7 +1313,9 @@ unsigned FAST_FUNC sha1_end(sha1_ctx_t *ctx, void *resbuf)
     hash_size = 8;
     if (ctx->process_block == sha1_process_block64
 #if ENABLE_SHA1_HWACCEL
+# if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
      || ctx->process_block == sha1_process_block64_shaNI
+# endif
 #endif
     ) {
         hash_size = 5;

Aktuell läuft der build weiter... Sollte das erfolgreich sein, werde ich auch in meinem Main-Volume für freetz-ng patchen ^^

EDIT-1:
Build hing kurz wegen diesem Thema:

Eintrag gesetzt => build läuft weiter :)

EDIT-2:
build ist in der Testumgebung erfolgreich durchgelaufen ;)
Jetzt lasse ich den Patch auf meine produktive Umgebung los und warte mal ab ^^ ...

EDIT-3:
Build lief erfolgreich durch :)
 
Zuletzt bearbeitet:
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.