GCC-10.2.0 für Boxen mit ARM-Prozessor

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • GCC-10.2.0 für Boxen mit ARM-Prozessor

      @rdamas
      Hallo,

      ich habe dein Paket „GCC-10.2.0 für Boxen mit ARM-Prozessor“ installiert und versucht auf meinen Vu+Duo4k, das neue glibc-Paket 2.38 aus The GNU C Library, zu kompilieren, um so an die neue „libc“ dranzukommen. Allerdings, es scheitert bei mir an Python2.7. Gibt es ein weg dies umzugehen? Könnte man ein Syimlink zur einen „fake“ Python3 setzen? Es ist nicht Lebens wichtig, aber ich möchte sehen, was auf unsere Boxen alles möglich ist.

      Auf ein Windows 11 System, mit Ubuntu WSL2 als Windows Subsystem, meckert nicht und ich kann fertig kompilieren. Allerdings bin mir nicht so sicher das ich, in der Konfiguration, der Zusatz „--with-toolchain=$HOME/vupus-dev/arm-linux-gnueabihf“, die aus dein Paket in Home hinzugefügt habe, auch richtig angewendet wurde. Nach dem ganzen Durchlauf befindet sich im Install-Ordner ein Unterordner namens „lib64“, der unter anderem die „lib64.so.6“ enthält und eine Größe von 12.091 KB aufweist. Es sieht so aus das für einen 64Bit System gebaut wurde und ich bezweifle das die auch die richtige für VU+ ist.

      Hier ist der .log/Bericht über den Versuch, das auf Duo4K zu bauen:
      Spoiler anzeigen

      root@vuduo4k:~# cd /hdd
      root@vuduo4k:/hdd# cd glibc-build
      root@vuduo4k:/hdd/glibc-build# ../glibc/configure --prefix=/usr --sysconfdir=/etc --sharedstatedir=/var --localstatedir=/var --disable-werror
      checking build system type... armv7l-unknown-linux-gnueabihf
      checking host system type... armv7l-unknown-linux-gnueabihf
      checking for gcc... gcc
      checking for suffix of object files... o
      checking whether the compiler supports GNU C... yes
      checking whether gcc accepts -g... yes
      checking for gcc option to enable C11 features... none needed
      checking for g++... g++
      checking whether the compiler supports GNU C++... yes
      checking whether g++ accepts -g... yes
      checking for g++ option to enable C++11 features... none needed
      checking whether g++ can link programs... no
      checking for sysdeps preconfigure fragments... aarch64 alpha arc arm configure: Found compiler is configured for armv7
      checking for grep that handles long lines and -e... /bin/grep
      checking for egrep... /bin/grep -E
      csky hppa i386 loongarch m68k microblaze checking for grep that handles long lines and -e... (cached) /bin/grep
      checking for egrep... (cached) /bin/grep -E
      mips nios2 or1k powerpc riscv s390 sh checking for grep that handles long lines and -e... (cached) /bin/grep
      checking for egrep... (cached) /bin/grep -E
      sparc x86_64
      checking for a BSD-compatible install... ../glibc/scripts/install-sh -c
      checking whether ln -s works... yes
      checking for /usr/lib/gcc/arm-linux-gnueabihf/10.2.0/../../../../arm-linux-gnueabihf/bin/ld... /usr/lib/gcc/arm-linux-gnueabihf/10.2.0/../../../../arm-linux-gnueabihf/bin/ld
      checking version of /usr/lib/gcc/arm-linux-gnueabihf/10.2.0/../../../../arm-linux-gnueabihf/bin/ld... 2.35, ok
      checking for gnumake... no
      checking for gmake... no
      checking for make... make
      checking version of make... 4.3, ok
      checking for gnumsgfmt... no
      checking for gmsgfmt... no
      checking for msgfmt... no
      checking for makeinfo... no
      checking for sed... sed
      checking version of sed... 4.0, ok
      checking for gawk... no
      checking for bison... no
      checking if gcc is sufficient to build libc... yes
      checking for python3... no
      checking for python... python
      checking version of python... 2.7.9, bad
      configure: error:
      *** These critical programs are missing or too old: gawk bison python
      *** Check the INSTALL file for required versions.
      root@vuduo4k:/hdd/glibc-build# checking version of python... 2.7.9, bad
      -sh: checking: command not found
      root@vuduo4k:/hdd/glibc-build# configure: error:
      -sh: configure:: command not found
      root@vuduo4k:/hdd/glibc-build# which python3.5
      root@vuduo4k:/hdd/glibc-build# ../glibc/configure --prefix=/usr --sysconfdir=/etc --sharedstatedir=/var --localstatedir=/var --disable-werror
      checking build system type... armv7l-unknown-linux-gnueabihf
      checking host system type... armv7l-unknown-linux-gnueabihf
      checking for gcc... gcc
      checking for suffix of object files... o
      checking whether the compiler supports GNU C... yes
      checking whether gcc accepts -g... yes
      checking for gcc option to enable C11 features... none needed
      checking for g++... g++
      checking whether the compiler supports GNU C++... yes
      checking whether g++ accepts -g... yes
      checking for g++ option to enable C++11 features... none needed
      checking whether g++ can link programs... no
      checking for sysdeps preconfigure fragments... aarch64 alpha arc arm configure: Found compiler is configured for armv7
      checking for grep that handles long lines and -e... /bin/grep
      checking for egrep... /bin/grep -E
      csky hppa i386 loongarch m68k microblaze checking for grep that handles long lines and -e... (cached) /bin/grep
      checking for egrep... (cached) /bin/grep -E
      mips nios2 or1k powerpc riscv s390 sh checking for grep that handles long lines and -e... (cached) /bin/grep
      checking for egrep... (cached) /bin/grep -E
      sparc x86_64
      checking for a BSD-compatible install... ../glibc/scripts/install-sh -c
      checking whether ln -s works... yes
      checking for /usr/lib/gcc/arm-linux-gnueabihf/10.2.0/../../../../arm-linux-gnueabihf/bin/ld... /usr/lib/gcc/arm-linux-gnueabihf/10.2.0/../../../../arm-linux-gnueabihf/bin/ld
      checking version of /usr/lib/gcc/arm-linux-gnueabihf/10.2.0/../../../../arm-linux-gnueabihf/bin/ld... 2.35, ok
      checking for gnumake... no
      checking for gmake... no
      checking for make... make
      checking version of make... 4.3, ok
      checking for gnumsgfmt... no
      checking for gmsgfmt... no
      checking for msgfmt... no
      checking for makeinfo... no
      checking for sed... sed
      checking version of sed... 4.0, ok
      checking for gawk... no
      checking for bison... no
      checking if gcc is sufficient to build libc... yes
      checking for python3... no
      checking for python... python
      checking version of python... 2.7.9, bad
      configure: error:
      *** These critical programs are missing or too old: gawk bison python
      *** Check the INSTALL file for required versions
      Gruß satdx62
    • Python-3 wird meines Wissen bei der Libc "nur" für die Test-Suite gebraucht. Ob sich die Libc auch ohne übersetzen lässt habe ich noch nicht probiert. gawk ist auch kein Problem, bison brauchst du nur, wenn du die Grammatik-Datei(en) (*.y) veränderst.

      Ich habe (nicht deshalb) auf meiner Box auch ein Python3 installiert. Das lässt sich einfach übersetzen und installieren. Die libc zu überstzen macht jedenfalls bei mir kein Problem:

      Spoiler anzeigen

      root@vusolo4k:~# /lib/libc.so.6
      GNU C Library (GNU libc) stable release version 2.38.
      Copyright (C) 2023 Free Software Foundation, Inc.
      This is free software; see the source for copying conditions.
      There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
      PARTICULAR PURPOSE.
      Compiled by GNU CC version 13.2.0.
      libc ABIs: UNIQUE ABSOLUTE
      Minimum supported kernel: 3.2.0
      For bug reporting instructions, please see:
      <The GNU C Library>.


      Bei mir funktioniert es so:

      Quellcode

      1. ../glibc/configure --prefix=/usr --sysconfdir=/etc --sharedstatedir=/var --localstatedir=/var --disable-werror
      2. make
      3. make install DESTDIR=/media/hdd/install
      4. make localedata/install-locale-files DESTDIR=/media/hdd/install

      Du solltest zusätzlich noch die libxcrypt (GitHub - besser82/libxcrypt: Extended crypt library for descrypt, md5crypt, bcrypt, and others) übersetzen und installieren, die glibc-2.38 pflegt ihr eigenes Crypt-Modul nicht mehr.

      Edit: Ich würde die glibc-Pakete ja auch in die Database stellen, wenn das nicht den Rahmen der Database sprengen würde: zu viele Pakete (1032), insgesamt zu viel Speicher für einen einzelnen Database-Eintrag (~230 MB).

      Edit 2: Python von hier: GitHub - python/cpython: The Python programming language, Version v3.11.6 auschecken, mit
      ./configure --enable-optimizations --prefix=/usr ... konfigurieren
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von rdamas ()

    • Hallo,
      danke für die schnelle Antwort.
      Super, das mit der Python3 Übersetzung werde ich mir vornehmen. :thumbup:
      Ich werde auch die „libxcryp“, vornehmen.
      Werde deine Konfiguration verwenden und berichten, wie weit vorangekommen werde. :)

      Das mit dem „glibc-Pakete“ wäre einer feinen Sache, vielleicht würde auch anderen nutzen. ;)
      Gruß satdx62
    • @rdamas
      ich habe jetzt wieder Zeit, und möchte das neue glibc-Paket 2.38 für meine VU+Duo4K kompilieren. Ich habe mir die Sources auf Vu+ internes SSD installiert unter glibc Verzeichnis media/hdd/glibc, und ein neues Verzeichnis nahmen glibc-build media/hdd/glibc-build angelegt, um die Konfiguration zu schreiben und make ausführen zu können. Irgendwie hapert aber an die richtige Syntax in der Konfiguration. Könntest du mir auf die Sprünge helfen? Ich stehe auf der Schlauch und von unserem Wiki werde ich nicht schlauer. Dasselbe habe ich testweise auf PC für andere Linux Plattformen geschafft, aber nicht für unsere.
      Gruß satdx62
    • Geht genauso wie ich es schon geschrieben habe; wenn das configure-Script deiner ausgepackten glibc-Sourcen unter /media/hdd/glibc steht, dann sollte das hier funktionieren:

      Quellcode

      1. mkdir /media/hdd/install
      2. cd /media/hdd/glibc-build
      3. /media/hdd/glibc/configure --prefix=/usr --sysconfdir=/etc --sharedstatedir=/var --localstatedir=/var --disable-werror
      4. make
      5. make install DESTDIR=/media/hdd/install
      6. make localedata/install-locale-files DESTDIR=/media/hdd/install

      Ansonsten poste doch mal die Fehler.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Danke, für deine Antwort. :)
      Ich habe so gemacht, wie du gesagt hast. Hier ist die Ausgabe. Scheint das keine make Befehl zu nehmen. Das habe ich von deinen Paketen mit installiert.

      Spoiler anzeigen

      root@vuduo4k:~# cd /media/hdd/glibc-build
      root@vuduo4k:/media/hdd/glibc-build# /media/hdd/glibc/configure --prefix=/usr --sysconfdir=/etc --sharedstatedir=/var --localstatedir=/var --disable-werror
      checking build system type... armv7l-unknown-linux-gnueabihf
      checking host system type... armv7l-unknown-linux-gnueabihf
      checking for gcc... gcc
      checking for suffix of object files... o
      checking whether the compiler supports GNU C... yes
      checking whether gcc accepts -g... yes
      checking for gcc option to enable C11 features... none needed
      checking for g++... g++
      checking whether the compiler supports GNU C++... yes
      checking whether g++ accepts -g... yes
      checking for g++ option to enable C++11 features... none needed
      checking whether g++ can link programs... no
      checking for sysdeps preconfigure fragments... aarch64 alpha arc arm configure: Found compiler is configured for armv7
      checking for grep that handles long lines and -e... /bin/grep
      checking for egrep... /bin/grep -E
      csky hppa i386 loongarch m68k microblaze checking for grep that handles long lines and -e... (cached) /bin/grep
      checking for egrep... (cached) /bin/grep -E
      mips nios2 or1k powerpc riscv s390 sh checking for grep that handles long lines and -e... (cached) /bin/grep
      checking for egrep... (cached) /bin/grep -E
      sparc x86_64
      checking for a BSD-compatible install... /media/hdd/glibc/scripts/install-sh -c
      checking whether ln -s works... yes
      checking for /usr/lib/gcc/arm-linux-gnueabihf/10.2.0/../../../../arm-linux-gnueabihf/bin/ld... /usr/lib/gcc/arm-linux-gnueabihf/10.2.0/../../../../arm-linux-gnueabihf/bin/ld
      checking version of /usr/lib/gcc/arm-linux-gnueabihf/10.2.0/../../../../arm-linux-gnueabihf/bin/ld... 2.35, ok
      checking for gnumake... no
      checking for gmake... no
      checking for make... make
      checking version of make... 4.3, ok
      checking for gnumsgfmt... no
      checking for gmsgfmt... no
      checking for msgfmt... no
      checking for makeinfo... no
      checking for sed... sed
      checking version of sed... 4.0, ok
      checking for gawk... no
      checking for bison... no
      checking if gcc is sufficient to build libc... yes
      checking for python3... python3
      checking version of python3... v. ?.??, bad
      configure: error:
      *** These critical programs are missing or too old: gawk bison python
      *** Check the INSTALL file for required versions.
      root@vuduo4k:/media/hdd/glibc-build# make
      make: *** No targets specified and no makefile found. Stop.
      root@vuduo4k:/media/hdd/glibc-build#

      EDIT:
      make -version:
      root@vuduo4k:/media/hdd/glibc-build# make --version
      GNU Make 4.3
      Built for armv7l-unknown-linux-gnueabihf
      Copyright (C) 1988-2020 Free Software Foundation, Inc.
      License GPLv3+: GNU GPL version 3 or later <GNU General Public License, Version 3 - GNU-Projekt - Free Software
      Foundation>
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
      root@vuduo4k:/media/hdd/glibc-build#
      Gruß satdx62

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von satdx62 ()

    • rdamas schrieb:

      Python-3 wird meines Wissen bei der Libc "nur" für die Test-Suite gebraucht. Ob sich die Libc auch ohne übersetzen lässt habe ich noch nicht probiert. gawk ist auch kein Problem, bison brauchst du nur, wenn du die Grammatik-Datei(en) (*.y) veränderst.


      Bei mir funktioniert es so:

      Quellcode

      1. ../glibc/configure --prefix=/usr --sysconfdir=/etc --sharedstatedir=/var --localstatedir=/var --disable-werror
      2. make
      3. make install DESTDIR=/media/hdd/install
      4. make localedata/install-locale-files DESTDIR=/media/hdd/install
      Danke, der Fehler habe selber gesehen, aber @rdamas hat gesagt, dass man ignorieren kann.
      Gruß satdx62

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von satdx62 ()

    • @satdx62

      Sorry, jetzt erst genauer gelesen.

      Das ist ja auch "nur" das Configure, dass sich da beklagt? Dann versuch es doch mal mit dem Ignorieren.

      Wo gibt es denn ansonsten Probleme und welche? Was sagt denn make selbst dazu?
      Eventuelle Ratschläge gebe ich nach bestem Wissen und Gewissen aber ohne jede Gewähr. Bei Fragen fragen.
      Tipps:
      Screenshots erstellen VU+ Wiki

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Dibagger ()

    • configure erstellt am Ende die Makefiles. Die sind nicht erzeugt worden, weil die drei genannten Programme nicht gefunden wurde. Vermutlich habe ich das falsch ausgedrückt: ignorieren kannst du die Fehler nicht, aber die drei fehlenden Programme kannst du schnell selber übersetzen und installieren.

      Ich würde sie dir ja als Pakete geben, aber damit die laufen, brauchst du eine aktuelle glibc :D .

      Quellcode

      1. root@vusolo4k:~# ldd -v /usr/bin/gawk
      2. libreadline.so.6 => /usr/lib/libreadline.so.6 (0xb6f20000)
      3. libm.so.6 => /lib/libm.so.6 (0xb6eda000)
      4. libc.so.6 => /lib/libc.so.6 (0xb6d71000)
      5. libtinfo.so.5 => /lib/libtinfo.so.5 (0xb6d40000)
      6. /lib/ld-linux-armhf.so.3 (0xb6f77000)
      7. Version information:
      8. /usr/bin/gawk:
      9. libm.so.6 (GLIBC_2.4) => /lib/libm.so.6
      10. libm.so.6 (GLIBC_2.29) => /lib/libm.so.6
      11. libc.so.6 (GLIBC_2.28) => /lib/libc.so.6
      12. libc.so.6 (GLIBC_2.7) => /lib/libc.so.6
      13. libc.so.6 (GLIBC_2.33) => /lib/libc.so.6
      14. libc.so.6 (GLIBC_2.34) => /lib/libc.so.6
      15. libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
      16. /usr/lib/libreadline.so.6:
      17. libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
      18. /lib/libm.so.6:
      19. libc.so.6 (GLIBC_PRIVATE) => /lib/libc.so.6
      20. libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
      21. /lib/libc.so.6:
      22. ld-linux-armhf.so.3 (GLIBC_2.4) => /lib/ld-linux-armhf.so.3
      23. ld-linux-armhf.so.3 (GLIBC_PRIVATE) => /lib/ld-linux-armhf.so.3
      24. /lib/libtinfo.so.5:
      25. libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
      Alles anzeigen

      und bison:

      Quellcode

      1. root@vusolo4k:~# ldd -v /usr/bin/bison
      2. libc.so.6 => /lib/libc.so.6 (0xb6d77000)
      3. /lib/ld-linux-armhf.so.3 (0xb6ee9000)
      4. Version information:
      5. /usr/bin/bison:
      6. libc.so.6 (GLIBC_2.29) => /lib/libc.so.6
      7. libc.so.6 (GLIBC_2.28) => /lib/libc.so.6
      8. libc.so.6 (GLIBC_2.15) => /lib/libc.so.6
      9. libc.so.6 (GLIBC_2.32) => /lib/libc.so.6
      10. libc.so.6 (GLIBC_2.33) => /lib/libc.so.6
      11. libc.so.6 (GLIBC_2.17) => /lib/libc.so.6
      12. libc.so.6 (GLIBC_2.26) => /lib/libc.so.6
      13. libc.so.6 (GLIBC_2.34) => /lib/libc.so.6
      14. libc.so.6 (GLIBC_2.4) => /lib/libc.so.6
      15. /lib/libc.so.6:
      16. ld-linux-armhf.so.3 (GLIBC_2.4) => /lib/ld-linux-armhf.so.3
      17. ld-linux-armhf.so.3 (GLIBC_PRIVATE) => /lib/ld-linux-armhf.so.3
      Alles anzeigen

      Heisst: in beiden Fällen mindestens eine glibc-2.34...

      Und python3 bei mir sogar die glibc-2.38.

      Edit: warte - gawk und bison habe ich noch als ältere Versionen gegen die glibc-2.21 gelinkt, Python3 müsstest du allerdings selber übersetzen. gawk und bison packe ich mal ein und hänge das gleich hier an.
      Dateien
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von rdamas ()

    • Danke, genau das brennt bei mir das veraltete glibc und libc.

      root@vuduo4k:~# ldd --version
      ldd (GNU libc) 2.33
      Copyright (C) 2021 Free Software Foundation, Inc.
      This is free software; see the source for copying conditions. There is NO
      warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
      Written by Roland McGrath and Ulrich Drepper.
      root@vuduo4k:~#
      Gruß satdx62
    • Bison und gawk hängen jetzt am vorherigen Beitrag; ich habe nicht alles eingepackt (die locale habe ich ausgespart), die sollten trotzdem funktionieren, zumal sie eigentlich für das compilieren überhaupt nicht benötigt werden.

      Python3 solltest du dir von GitHub - python/cpython: The Python programming language kopieren oder auschecken - für die glibc reicht alles was neuer als Python-3.6 ist. Bei mir habe ich zuletzt Python-3.12.0 übersetzt.

      Configure mit configure --prefix=/usr --enable-optimizations und danach make -j3 und make install
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Da kannst du mal sehen, wie lange das her ist, seit ich mir auf der Solo4k meine Dev-Umgebung zusammengebaut habe :D - alle Pakete zusammenzusuchen, die irgendwann mal benötigt werden, hat auch bei mir länger gedauert.

      pkg-config gehört zum Paket/Projekt pkgconf, Homepage pkgconf
      Das Paket lässt sich mit meinem GCC allerdings nicht mehr übersetzen, ich hänge mein Paket mal an.
      Ich bin mir wieder nicht sicher, ob ich alle zum Paket gehörenden Files zusammenbekommen habe - das ist bei mir seit 2017 auf der Platte, ich habe das damals nicht als Paket installiert.
      Dateien
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Ohne Fehler vielleicht nicht: die Python-Pakete, die openssl-1.1 benötigen, wurden bei mir nicht übersetzt, weil ich das nicht installiert habe. Läuft aber trotzdem durch.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.