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

    • @rdamas
      Hallo,
      ich glaube, die VU+Duo4K ist an ihre Grenze gekommen. :( Die Übersetzung nach make install ist nicht durchgelaufen.

      Quellcode

      1. /usr/lib/gcc/arm-linux-gnueabihf/10.2.0/../../../../arm-linux-gnueabihf/bin/ld: Objects/bytesobject.o: in function `_sub_D_00100_1':bytesobject.c:(.text.exit+0x0): undefined reference to `__gcov_exit'collect2: error: ld returned 1 exit statusmake: *** [Makefile:1293: Programs/_freeze_module] Error 1root@vuduo4k:/hdd/cpython-build#

      Hier ist das ganze Output.

      Edit: Habe grade festgestellt, dass die Box dabei abgestützt ist. (<3>[43815.458266] „Out of memory: Kill process 5909 (cc1) score 198 or sacrifice child)
      Hier ist der log:
      Dateien
      • Output1.txt

        (238,05 kB, 2 mal heruntergeladen, zuletzt: )
      • dvbapp2_crash.txt

        (9,07 kB, 1 mal heruntergeladen, zuletzt: )
      Gruß satdx62

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

    • Nö - sieht für mich so aus, als ob dir einfach eine Lib fehlt, damit das Programm gelinkt werden kann.

      Bei mir auf der Solo4k habe ich unter /usr/lib/gcc/arm-linux-gnueabihf/13.2.0/libgcov.a die Lib stehen, die bei dir vermutlich nicht gefunden wird. Beim gcc-10.2 würde ich sie unter /usr/lib/gcc/arm-linux-gnueabihf/10.2.0 erwarten.

      Wenn sie dort liegt, kannst du sie auch nach /usr/lib verschieben.

      Quellcode

      1. root@vusolo4k:/usr/lib/gcc/arm-linux-gnueabihf/13.2.0# nm libgcov.a |grep gcov_exit
      2. 000017b0 T __gcov_exit
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

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

    • Okay, ich habe die libgcov.a nach /usr/lib/ kopiert, aber kommt immer noch Mist bei make install raus:

      /usr/lib/gcc/arm-linux-gnueabihf/10.2.0/../../../../arm-linux-gnueabihf/bin/ld: Objects/bytesobject.o: in function `_sub_D_00100_1':
      bytesobject.c:(.text.exit+0x0): undefined reference to `__gcov_exit'
      collect2: error: ld returned 1 exit status
      make: *** [Makefile:1293: Programs/_freeze_module] Error 1
      root@vuduo4k:/hdd/cpython-build#


      Quellcode

      1. root@vuduo4k:/usr/lib/gcc/arm-linux-gnueabihf/10.2.0# nm libgcov.a |grep gcov_exit000016f8 T __gcov_exit00000a78 t gcov_exit_open_gcda_file.isra.0root@vuduo4k:/usr/lib/gcc/arm-linux-gnueabihf/10.2.0#


      Quellcode

      1. root@vuduo4k:/usr/lib# nm libgcov.a |grep gcov_exit000016f8 T __gcov_exit00000a78 t gcov_exit_open_gcda_file.isra.0root@vuduo4k:/usr/lib#


      @rdamas
      EDIT: Soll ich eventuell ein make clean machen und von vorne anfangen?
      Gruß satdx62

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

    • Ich hab eher den Eindruck, dass gcc gar nicht versucht, die libgcov.a zu benutzen. In den Python-Sourcen finde ich auch keine Hinweise darauf - das muss irgendwas Implizites im gcc-Setup sein.

      Meine Vermutung ist gerade, dass das "--enable-optimizations" das triggert. Lass das Flag bei "configure" mal weg. Der meckert dann zwar, dass du keinen optimierten Build bekommst, sollte aber egal sein, wenn's damit funktioniert.

      Also ja: von vorne anfangen. make clean und nochmal configure.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

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

    • Das habe ich in die Wege geleitet, es dauert aber wieder eine Weilchen. Ich hätte nicht gedacht, was für „lahme Ente“ unseren 4K VU+ Boxen sind beim Kompilieren. Ich hatte das nicht erwartet, insbesondere nicht von einem 4-Kern-SoC.
      Bin von meinem virtuellen Ubuntu Entwicklungsumgebung auf Windows-PC anders gewöhnt, was die Kompilierzeit betrifft.
      Gruß satdx62

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

    • Jo, da geb ich dir sowas von Recht - mein Mac M1 ist ein Rennwagen, die Solo4k ein Kettcar dagegen. Gut möglich, dass sogar ein Raspi schneller ist, vor allem alles ab Raspi 3.

      Bootstrap des GCC dauert auf der Solo4k etwa 15h, auf dem Mac ist das in schätze ich 30 Minuten fertig. Probiere ich grad mal - ist zwar nicht der gleiche Compiler, aber man bekommt einen Eindruck.

      So, stage1 ist fertig, hat 8 Minuten gedauert, auf der Solo4k dauert das ca. 3h.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • @rdamas
      Hallo nochmal,

      Immer noch nicht erfolgreich, scheint an die fehlender libz-dev zu stören.
      ../cpython/Modules/binascii.c:66:12: fatal error: zlib.h: No such file or directory
      Dateien
      • zlib.h.png

        (78,3 kB, 7 mal heruntergeladen, zuletzt: )
      Gruß satdx62

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

    • Welche zlib ist bei dir installiert? Kannst du in /lib nachschauen.

      Ich häng das Dev-Paket mit den Headern der zlib-1.2.8 an, wenn du eine andere Version installiert hast, unbedingt noch "ldconfig" ausführen. Oder selber übersetzen :D .
      Dateien
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • @rdamas
      Hallo,
      irgendwie kann ich meinen libc6 nicht updaten.
      Ich kann mich wage erinnern, dass ich manchen Sachen von ungewollten Updates auf Hold gesetzt habe.

      Quellcode

      1. opkg flag hold <paketname> : Plugin von updates ausnehmen. opkg flag ok <paketname> : Rückgängig machen von ausgenommenen Plugins
      Bei PC Linux Anwendung kann ich mir mit dpkg --get-selections |awk '$2 == "hold" { print $1 }' anzeigen welche Pakete auf Hold gesetzt habe.
      Wie lautet bitte der Befehl bei Enigma2?

      Wenn ich versuche, neuen Pakete von dir zu installieren, kommt das raus:
      Spoiler anzeigen

      root@vuduo4k:/tmp# opkg install /tmp/*.ipk
      Upgrading glibc-gconv-iso8859-15 from 2.21-r0 to 2.33-r0 on root.
      Upgrading glibc-gconv-iso8859-1 from 2.21-r0 to 2.33-r0 on root.
      Installing glibc-gconv (2.33-r0) on root.
      Unknown package 'libc6'.
      Configuring glibc-gconv.
      Collected errors:
      * satisfy_dependencies_for: Cannot satisfy the following dependencies for glibc-gconv-iso8859-15:
      * libc6 (>= 2.33) *
      * opkg_install_cmd: Cannot install package glibc-gconv-iso8859-15.
      * satisfy_dependencies_for: Cannot satisfy the following dependencies for glibc-gconv-iso8859-1:
      * libc6 (>= 2.33) *
      * opkg_install_cmd: Cannot install package glibc-gconv-iso8859-1.
      * opkg_install_cmd: Cannot install package libc6.
      root@vuduo4k:/tmp#


      root@vuduo4k:~# /lib/libc.so.6
      GNU C Library (GNU libc) stable release version 2.23, by Roland McGrath et al.
      Copyright (C) 2016 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 5.3.0.
      Available extensions:
      crypt add-on version 2.1 by Michael Glad and others
      GNU Libidn by Simon Josefsson
      Native POSIX Threads Library by Ulrich Drepper et al
      BIND-8.2.3-T5B
      libc ABIs: UNIQUE
      For bug reporting instructions, please see:
      <The GNU C Library>.
      root@vuduo4k:~#


      root@vuduo4k:~# opkg list-installed | grep -w "2.21"
      glibc-charmap-ibm850 - 2.21-r0
      glibc-charmap-utf-8 - 2.21-r0
      glibc-gconv-ibm850 - 2.21-r0
      glibc-gconv-iso8859-1 - 2.21-r0
      glibc-gconv-iso8859-15 - 2.21-r0
      glibc-gconv-unicode - 2.21-r0
      glibc-gconv-utf-32 - 2.21-r0
      glibc-localedata-en-gb - 2.21-r0
      glibc-localedata-en-us - 2.21-r0
      glibc-localedata-i18n - 2.21-r0
      glibc-localedata-iso14651-t1 - 2.21-r0
      glibc-localedata-iso14651-t1-common - 2.21-r0
      glibc-localedata-translit-circle - 2.21-r0
      glibc-localedata-translit-cjk-compat - 2.21-r0
      glibc-localedata-translit-combining - 2.21-r0
      glibc-localedata-translit-compat - 2.21-r0
      glibc-localedata-translit-font - 2.21-r0
      glibc-localedata-translit-fraction - 2.21-r0
      glibc-localedata-translit-narrow - 2.21-r0
      glibc-localedata-translit-neutral - 2.21-r0
      glibc-localedata-translit-small - 2.21-r0
      glibc-localedata-translit-wide - 2.21-r0
      libc6-dev - 2.21-r0
      libc6-ldconfig - 2.21-r0
      Gruß satdx62

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

    • Ich bin mir nicht sicher, ob du das mit opkg herausfinden kannst. Das einfachste ist, in die Datei /var/lib/opkg/status zu schauen (z.B. mit "less" oder "vi" oder ...) und nach "hold" zu suchen.

      Aber das hat sicher eine Vorgeschichte?
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Ja genau, ich wollte meine „enigmalight“ nicht von VTI überschreiben lassen. So wie jetzt in opkg/status steht. Was der zweite Eintrag an sich hat, weiß ich nicht. Siehe Spoiler.

      Fakt ist, dass etwas nicht mit meiner libc6 stimmt.

      Spoiler anzeigen
      Package: enigma2-plugin-extensions-enigmalight
      Version: 2.00+git54+b3d012c-r0.0
      Depends: enigma2, python-urllib3, python-unittest
      Status: install hold installed


      Package: libnss-mdns
      Version: 0.10-r7
      Depends: avahi-daemon, libc6 (>= 2.21)
      Status: deinstall hold not-installed
      Architecture: armv7ahf-vfp-neon
      Gruß satdx62
    • @rdamas

      Alle Anwendungen, die abhängig von libc6 sind, werden nicht installiert. Mit der Begründung:

      Spoiler anzeigen



      Collected errors:


      * satisfy_dependencies_for: Cannot satisfy the following dependencies for glibc-gconv-iso8859-15:


      * libc6 (>= 2.33) *


      * opkg_install_cmd: Cannot install package glibc-gconv-iso8859-15.


      * satisfy_dependencies_for: Cannot satisfy the following dependencies for glibc-gconv-iso8859-1:


      * libc6 (>= 2.33) *


      * opkg_install_cmd: Cannot install package glibc-gconv-iso8859-1.


      * opkg_install_cmd: Cannot install package libc6.



      Was kann schuld daran sein?
      Gruß satdx62

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

    • Du versuchst das Paket glibc-gconv-iso8859-15 zu installieren, welches als Dependency libc6 neuer als 2.33 eingetragen hat. Wenn deine libc6-Version < 2.33 ist, kommt dieser Fehler.

      Wenn du sicher bist, dass du nichts kaputt machst, kannst du --force-depends benutzen. Bei den libc-Paketen geht mir das oft genauso, ich versuche meistens, alle zusammen zu installieren, und das merhfach hintereinander. Meistens klappts dann ohne dass ich --force-depends benutzen muss (oder --nodeps).
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Ja, mit „--force-depends“ wird installiert. Ich möchte das libc6 auf einer neuen Version upgraden. Leider könnte nicht wie erhofft, das neuesten „glibc“, auf meine Box zu Ende kompilieren. Zu vielen Fehler, und die Box ist auch bei Python 3 dabei eingefroren. Ich habe auf meinen PC das „arm-linux-gnueabihf“ Paket für Ubuntu installiert und mit der folgende Konfiguration für der VU+Duo4K kompiliert:

      Quellcode

      1. ../glibc/configure --prefix=/usr --sysconfdir=/etc --sharedstatedir=/var --localstatedir=/var --disable-werror --host=arm-linux-gnueabihf --with-target-cflags='-march=armv7-a' --with-fpu=neon-vfpv4 --with-float=hard --target=arm-linux-gnueabihf
      Ich weiß aber nicht, ob das so richtig ist.
      Kannst du bitte das Ergebnis in install Ordner angucken? Gegebener, falls mit deiner vergleichen?
      Dateien
      • install.zip

        (34,33 MB, 4 mal heruntergeladen, zuletzt: )
      Gruß satdx62

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

    • Sieht auf den ersten Blick ziemlich vollständig aus, einzig die Locale-Daten in /usr/lib/locale sind im Zip-File nicht dabei. Vielleicht geht's ohne, ansonsten siehe Beitrag #5, letzte Zeile.

      Dass die kompletten Rechte und Symlinks fehlen liegt hoffentlich am Zip-Format; wenn nicht, wird's so nicht laufen. Die Binaries laufen aber, wenn sie ausführbar gemacht worden sind.

      Die "--with-*" Flags aus deinem Build sehen korrekt aus; CPU passt, FPU und Float-Formt ebenfalls.

      Daumen hoch, wenn die File-Rechte und Symlinks gefixt sind.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • @rdamas
      Hallo,

      ich habe mir nochmal die Sache mit „locale-files“ angeschaut und tatsächlich, beim install kommt zur einen „Exec format error“. Das kann auch ein falsches Format oder Architektur sein. Ich muss genauer angucken und eventuell die Zeile auskommentieren. Siehe die Ausgabe:
      Spoiler anzeigen

      fm@LAPTOP-DG0QB50H:~$ cd build-glibc
      fm@LAPTOP-DG0QB50H:~/build-glibc$ make localedata/install-locale-files DESTDIR=/home/fm/install
      make -r PARALLELMFLAGS="" -C ../glibc objdir=`pwd` localedata/install-locale-files
      make[1]: Entering directory '/home/fm/glibc'
      make -C localedata install-locale-files
      make[2]: Entering directory '/home/fm/glibc/localedata'
      .././scripts/mkinstalldirs /home/fm/install/usr/lib/locale
      aa_DJ.UTF-8.../bin/sh: 2: /home/fm/build-glibc/elf/ld-linux-armhf.so.3: Exec format error
      make[2]: *** [Makefile:479: install-files-aa_DJ.UTF-8/UTF-8] Error 126
      make[2]: Leaving directory '/home/fm/glibc/localedata'
      make[1]: *** [Makefile:749: localedata/install-locale-files] Error 2
      make[1]: Leaving directory '/home/fm/glibc'
      make: *** [Makefile:9: localedata/install-locale-files] Error 2
      fm@LAPTOP-DG0QB50H:~/build-glibc$
      Gruß satdx62