[Problem] Invalid configuration `aarch64-pc-linux-gnu'

BenGurion_

Mitglied
Mitglied seit
10 Nov 2005
Beiträge
266
Punkte für Reaktionen
8
Punkte
18
Moin ihr Wissenträger .

Ich versuche aktuell mit meinem neu aufgesetzten pi4 mit Debian 12 (64bit) ein aktuelles image zu bauen.

Allerdings bekomme ich beim build folgenden Fehler:
Code:
checking build system type... Invalid configuration `aarch64-pc-linux-gnu': machine `aarch64-pc' not recognized
configure: error: /bin/bash ./config.sub aarch64-pc-linux-gnu failed

ERROR: Build failed.
make[1]: *** [make/libs/libart_lgpl/libart_lgpl.mk:14: source/target-mips_gcc-13.3.0_uClibc-1.0.52-nptl_kernel-4.9/libart_lgpl-2.3.21/.configured] Terminated
make: *** [Makefile:49: envira] Beendet

Ich hab hier schon diverse 64bit-Anleitungen durchforscht, konnte aber keine Lösung für mich finden ...
 
Echt jeztz? ... Hat da niemand ne Idee?

Oder bin ich zu blöd, den download der fertigen toolchains im menuconfig zu setzen?
 
cross-compile-, Zielsystem-Problem ?
build-environment vollständig/korrekt ?
 
Zuletzt bearbeitet:
Also die aktuelle Meldung lautet:
Code:
configure: WARNING: unrecognized options: --disable-nls
configure: loading site script /home/pi/freetz-ng/include/config.site/mips-linux-uclibc
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for mips-linux-strip... mips-linux-strip
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for mips-linux-gcc... /home/pi/freetz-ng/toolchain/build/mips_gcc-13.3.0_uClibc-1.0.52-nptl_kernel-4.9/mips-linux-uclibc/bin/mips-linux-uclibc-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /home/pi/freetz-ng/toolchain/build/mips_gcc-13.3.0_uClibc-1.0.52-nptl_kernel-4.9/mips-linux-uclibc/bin/mips-linux-uclibc-gcc accepts -g... yes
checking for /home/pi/freetz-ng/toolchain/build/mips_gcc-13.3.0_uClibc-1.0.52-nptl_kernel-4.9/mips-linux-uclibc/bin/mips-linux-uclibc-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of /home/pi/freetz-ng/toolchain/build/mips_gcc-13.3.0_uClibc-1.0.52-nptl_kernel-4.9/mips-linux-uclibc/bin/mips-linux-uclibc-gcc... gcc3
checking how to run the C preprocessor... /home/pi/freetz-ng/toolchain/build/mips_gcc-13.3.0_uClibc-1.0.52-nptl_kernel-4.9/mips-linux-uclibc/bin/mips-linux-uclibc-gcc -E
checking build system type... Invalid configuration `aarch64-pc-linux-gnu': machine `aarch64-pc' not recognized
configure: error: /bin/bash ./config.sub aarch64-pc-linux-gnu failed

ERROR: Build failed.
make[1]: *** [make/libs/libart_lgpl/libart_lgpl.mk:14: source/target-mips_gcc-13.3.0_uClibc-1.0.52-nptl_kernel-4.9/libart_lgpl-2.3.21/.configured] Terminated
make: *** [Makefile:49: envira] Beendet
Was muss ich genau wo einstellen, damit der build läuft?
 
du kannst mit dem String "Invalid configuration `aarch64-pc-linux-gnu': machine `aarch64-pc' not recognized" in google suchen.

ich finde da ein paar (alte zwar) Hinweise.

was meine ich mit "cross-compile-, Zielsystem ..., build-environment ..."

cross-compile muss man machen, wenn man ein Programm,etc für eine andere HardwarePlattform compilieren will, die sich von der Compilermaschinen-Hardware unterscheidet.
dazu muss man ein dedizierte Umgebung (Environment) herstellen; z.B. der Compiler selbst schon

Ich compiliere hier nur auf x86-igern Kernels; dazu brauche ich z.b. extra (nach-)installierte libraries, die so auf der Maschine nicht installiert sind.

Suchen mit dem Fehlerstring in google hilft meist ...
 
Nerja ... Beim install-Versuch vom gcc-aarch64-linux-gnu bekomme ich leider nur folgende Meldung:
Code:
sudo apt install gcc-aarch64-linux-gnu
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
 cpp-12-aarch64-linux-gnu:i386 : Hängt ab von: libc6:i386 (>= 2.36) soll aber nicht installiert werden
 gcc-12-aarch64-linux-gnu:i386 : Hängt ab von: libcc1-0:i386 (>= 12) soll aber nicht installiert werden
                                 Hängt ab von: binutils-aarch64-linux-gnu:i386 (>= 2.40) soll aber nicht installiert werden
                                 Hängt ab von: libgcc-12-dev-arm64-cross:i386 (>= 12.2.0-14cross1) ist aber nicht installierbar
                                 Hängt ab von: libc6:i386 (>= 2.36) soll aber nicht installiert werden
                                 Hängt ab von: libgcc-s1:i386 (>= 3.0) soll aber nicht installiert werden
                                 Hängt ab von: libstdc++6:i386 (>= 5) soll aber nicht installiert werden
 libgmp10:i386 : Hängt ab von: libc6:i386 (>= 2.7) soll aber nicht installiert werden
 libisl23:i386 : Hängt ab von: libc6:i386 (>= 2.4) soll aber nicht installiert werden
 libmpc3:i386 : Hängt ab von: libc6:i386 (>= 2.4) soll aber nicht installiert werden
 libmpfr6:i386 : Hängt ab von: libc6:i386 (>= 2.4) soll aber nicht installiert werden
 libzstd1:i386 : Hängt ab von: libc6:i386 (>= 2.34) soll aber nicht installiert werden
 zlib1g:i386 : Hängt ab von: libc6:i386 (>= 2.4) soll aber nicht installiert werden
E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete.
 
Läßt sich denn mittlerweile mit der (Freetz-)Toolchain tatsächlich ein Cross-Compiler für 32-Bit-Targets auf einem aarch64-System (armv8 oder auch ARM64) erstellen?

Mein letzter Stand (zugegebenermaßen etwas länger her) war, daß das in Freetz-NG (und natürlich auch in keinem jedem anderen Freetz-Fork) nicht unterstützt ist, wofür m.E. auch der "falsche" Name für das Paket spricht, denn das vorhandene: https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads (Abschnitt "aarch64 Linux hosted cross toolchains") sollte (m.E.) anders heißen, als es in Freetz-NG anhand der Daten des Host-Systems zum Paketnamen zusammengebaut wird. arm-none-linux-gnueabihf wäre vermutlich korrekt (https://cswang.gitbook.io/soc/chapter1), ob der vorgefertigte GCC einfach als Cross-Compiler verwendet werden kann, müßte man probieren.

Wobei üblicherweise versucht ja Freetz (auch NG), schon den Cross-Compiler für die Target-Architektur komplett selbst zu bauen, was eventuell mittlerweile auch für ARM möglich ist (die Patches sind wohl inzwischen in den GCC-Quellcode eingeflossen: https://gcc.gnu.org/install/specific.html#aarch64-x-x), aber ob die (üblichen/verwendeten) Mechanismen in Freetz zur Ermittlung von Host- und Target-Architektur funktionieren, weiß ich nicht.

Ansonsten (oder bisher, so weit sich mein Kenntnisstand nicht überholt hat, ich verfolge das seit mind. 3 Jahren nicht mehr intensiv, sondern nur noch am Rande) ist eben ein RasPi mit 64-Bit-OS kein geeigneter Host für die Freetz-Toolchain, wenn es keine vorgefertigte Toolchain zum einfachen Download geben sollte.

Alles (mittlerweile) ohne jede weitere Gewähr …

PS: Wer wirklich Hilfe erwartet, der packt aber besser alles an Infos zum Problem, was ihm zur Verfügung steht (Konfiguration, KOMPLETTE Protokolle, etc.), in seine Frage (dafür gibt es ja Anhänge) und nicht nur "Brotkrumen" - z.B. ist hier (bis auf ein paar Anzeichen, daß es sich um eine Konfiguration für eine MIPS-Box handeln könnte) nicht einmal klar, was die Zielkonfiguration eigentlich ist.
 
Kostenlos!

Zurzeit aktive Besucher

Statistik des Forums

Themen
247,325
Beiträge
2,266,564
Mitglieder
375,910
Neuestes Mitglied
morrisdavidd0