- 3D-Druck Einstieg und Tipps         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Problem mit alter LIB GLIBC_2.15, statt GLIBC_2.4

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Anzeige

    Powerstation Test
    Hallo,

    ist das ein selbst gemachtes Debian ?

    Ich habe hier nur Beaglebones mit fertigen Images (von Beagleboard.org oder Robert Nelson). Da weichen zumindest die Compiler-Versionen ab.

    Zwei Stichproben:

    Linux beaglebone 3.8.13-bone41
    GCC version 4.6.3 (Debian 4.6.3-14)
    ldd (Debian EGLIBC 2.13-38+deb7u3) 2.13

    Ubuntu 14.04.1 LTS (GNU/Linux 3.8.13-bone67 armv7l)
    GCC version 4.8.2 (Ubuntu/Linaro 4.8.2-19ubuntu1)
    ldd (Ubuntu EGLIBC 2.19-0ubuntu6.3) 2.19

    Der GCC 4.7 ist mir beim Beaglebone nur auf den alten Angstöm Images begegnet.

  2. #12
    shedepe
    Gast
    Er verwendet ja den crosscompiler unter einem normalen Debian. Der aktuelle crosscompiler dürfte trotzdem im Moment eigentlich ín Version 4.8 im Repo vorliegen.
    Wie aber bereits von meinen Vorpostern gesagt: Kompiliere entweder direkt auf dem Beaglebone oder mach ein update der toolchain bzw. bau sie dir selber.

    Was eventuell funktionieren könnte wäre dem Compiler zu sagen er soll eine andere Version der libc verwenden. Man kann nicht in einem Programm mehrere Versionen der libc verwenden. Allein schon weil das linkerfehler geben würde.
    Siehe dazu auch:
    https://stackoverflow.com/questions/...rent-libc-file

  3. #13
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hi,

    das Toolchain neu zu installieren, scheint es nicht gebracht zu haben.
    Ich werde als nächstes erstmal das aktuelle Image von Debian installieren.

    $cat /etc/dogtag
    BeagleBoard.org BeagleBone Debian Image 2014-04-23
    Aktuelle wäre
    @Mxt
    >ist das ein selbst gemachtes Debian ?
    Das installierte Debian war der Auslieferzustand. Ich verwendet ungerne selbst gemachte OS Versionen, da ich sonst in solche Probleme laufen würde.
    Ich könnte auch auf den Compiler (Toolchain) in der Version 4.8 springen, da dieses bereits als Paket vorhanden ist. Wäre der nächste Versuch.

    @shedepe
    >Was ist denn genau der Unterschied in deinem Programm im Vergleich zu anderen ?
    Es ist ein C++ Programm, welche auf Klassen basiert und eine Fülle von Funktionen hat, welche teilweise in den kleinen Testprogrammen (C basierend)
    separat korrekt laufen.
    Das ist ja gerade das Problem, das ich nicht weiss, welche Funktion mir Ärger macht.

    Wenn ich aber die Fehlermeldung jetzt richtig verstehe, ist mein Problem, das hier teile auf der LIB 2.4 arbeiten und die LIB 2.15 halt nicht vorhanden ist,
    was mich vermuten läßt, das ich es wohl mal besser mit dem Compiler 4.8 versuche. Insbesondere wo mein Image mal gerade ein Monat älter ist, als die aktuelle Version.


    Edit:
    auf dem Board ist der folgende Compiler installiert:
    $ dpkg --list | grep compiler
    ii device-tree-compiler 1.4.0.1~20131212-1 armhf Device Tree Compiler for Flat Device Trees
    ii g++ 4:4.6.3-8 armhf GNU C++ compiler
    ii g++-4.6 4.6.3-14 armhf GNU C++ compiler
    ii GCC 4:4.6.3-8 armhf GNU C compiler
    ii gcc-4.6 4.6.3-14 armhf GNU C compiler
    Die entsprechende Versionskontrolle zeigt mir auch, das hier der Compiler 4.6.3 verwendet wurde.
    $ cat /proc/version
    Linux version 3.8.13-bone47 (root@imx6q-wandboard-2gb-0) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Fri Apr 11 01:36:09 UTC 2014
    Compiler von hier neu nachgeladen und jetzt schauen wir mal.
    Edit2:
    gcc-4.6-arm-linux-gnueabihf
    deb http://de.archive.ubuntu.com/ubuntu precise main universe

    geht immer noch nicht.
    Ursache liegt wohl hier, Version des Beagle Bone
    $ ldd --version
    ldd (Debian EGLIBC 2.13-38+deb7u1) 2.13
    Copyright (C) 2011 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.
    p
    Viele Grüße

    R.
    Geändert von Ritchie (04.10.2014 um 19:15 Uhr)
    Kaum macht man es richtig, schon funktioniert's ...

  4. #14
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    48
    Beiträge
    456
    $ cat /proc/version
    zeigt die Version des Kernels. Das sagt nichts über das Userland.

    Ubuntu und Debian zu mischen ist immer eine schlechte Idee.

    Für Debian gibt es eine arm Toolchain
    https://wiki.debian.org/EmdebianToolchain

  5. #15
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hi,

    meinst Du ich sollte ein Ubuntu Image auch das System flashen ?


    Ich update doch erstmals

    apt-get update
    apt-get upgrade
    meine Installation und schaue dann später nochmal rein (Frau ruf )
    Gruss R.
    Geändert von Ritchie (04.10.2014 um 19:24 Uhr)
    Kaum macht man es richtig, schon funktioniert's ...

  6. #16
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    48
    Beiträge
    456
    Hier wird gezeigt wie das mit Debian und Multiarch geht:
    https://wiki.debian.org/MultiarchCrossToolchainBuild

    Ritchie: Ich kapier einfach nicht warum du nicht einfach auf dem Target kompilierst und auf dem Desktop arbeitest. Das Verzeichnis per NFS oder sshfs (ganz einfach) verbindest, auf dem Desktop programmierst und auf dem Target compilierst. Dann hast du keinerlei Probleme. Dein Robytask wird schon nicht die Größe von LibreOffice haben....

    Ob du Ubuntu flashen tust, oder nicht ist deine Entscheidung.

    - - - Aktualisiert - - -

    Achja, auf dem Target (BBB) machst du einfach
    "aptitude install GCC g++ make"

    GCC auf arm erzeugt .... arm binaries....

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Mir hat bisher auch immer das Compilieren auf dem Target gereicht. Sogar größere Bibliotheken, wie Poco mit allen Beispielen, lassen sich da bauen.
    (Gut, dauert dann ein wenig.)

    Vielleicht noch zur Info. Das Image 2014-05-14 von Beaglebone.org ist das stabile Image mit allen Anwendungen drauf.

    Hier liegen noch aktuellere Images
    http://rcn-ee.net/deb/
    in flasher gibt es SD-Karten Images die Debian oder Ubuntu Basissysteme auf den EMMC schreiben,
    in microsd Images mit minimalem Debian und Ubuntu zum Start von der Karte
    in testing die Entwicklerversion des neuen Beaglebone Images mit Kernel 3.14

    Bei allen findet man in /opt/scripts/tools diverse Helferlein, um das Image auf eine komplette Karte auszuweiten,
    einen anderen Kernel zu laden, usw.

  8. #18
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hi,

    Achja, auf dem Target (BBB) machst du einfach
    "aptitude install GCC g++ make"

    GCC auf arm erzeugt .... arm binaries....
    Das habe ich mal gerade ausprobiert und mir war klar, das das geht.
    Ist aber was träge. Bis ich die Ursache für mein Problem gefunden habe, könnte ich das als Alternative verwenden.

    Hier lese ich derzeit weitere Infos
    http://www.little-idiot.de/linuxsolu...-libraries.htm

    Auf dem Beagle Bone erzeugt
    ldd robytask
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6f2d000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6ec1000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6e9d000)
    libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6e82000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6d9d000)
    /lib/ld-linux-armhf.so.3 (0xb6fe7000)
    Auf dem Desktop erzeugt
    ldd robytask
    ./robytask: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.15' not found (required by ./robytask)
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6e3d000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6dd1000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6dad000)
    libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6d92000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6cad000)
    /lib/ld-linux-armhf.so.3 (0xb6ef7000)

    Gruss R.
    Geändert von Ritchie (05.10.2014 um 11:40 Uhr) Grund: ldd Ergenisse eingepflegt
    Kaum macht man es richtig, schon funktioniert's ...

  9. #19
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hallo Zusammen,

    das ganze hat mich nicht in Ruhe gelassen. Habe ich doch seit langem immer den Crosscompiler auf dem PC am laufen.

    Die Ursache habe ich jetzt jedenfalls gefunden:
    Hier die neue Compiler Definitionen (default) verwendet.
    GCC_OPTIONS = -W
    COMPILER = arm-linux-gnueabihf-g++-4.6
    DEBUG_OPTIONS = -pedantic
    GCC_STRIP = arm-linux-gnueabihf-strip
    Wenn man jedoch diese Option "-O03" aktiviert, wird die neue LIB "GLIBC_2.15" mit eingebunden.
    GCC_OPTIONS = -W -O03
    Hier das Programm neu auf dem PC erstellt und ldd auf dem BeagleBone ausgeführt.
    pi@pitbully:/mnt/projekt/HauptPrg$ ldd robytask
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6ee0000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6e74000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6e50000)
    libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6e35000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6d50000)
    /lib/ld-linux-armhf.so.3 (0xb6f9a000)
    pi@pitbully:/mnt/projekt/HauptPrg$ ./robytask

    Start up main program
    Main Task started
    Viele Grüße

    R.
    Kaum macht man es richtig, schon funktioniert's ...

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Problem mit einer SD lib. von Adafruit
    Von jok3r im Forum Arduino -Plattform
    Antworten: 1
    Letzter Beitrag: 21.07.2014, 21:39
  2. Problem mit myTWI.lib
    Von TiRe im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 06.02.2010, 13:57
  3. Antworten: 17
    Letzter Beitrag: 01.07.2009, 09:15
  4. Idee: Statt ISP-Wannenstecker - alter Floppyconnector
    Von snafu im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 9
    Letzter Beitrag: 24.04.2009, 07:54
  5. Problem mit I2CSlave.lib
    Von Otti66 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 14
    Letzter Beitrag: 25.10.2005, 10:59

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests