-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

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

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332

    Problem mit LIB GLIBC_2.15, statt GLIBC_2.4

    Anzeige

    Hallo Zusammen,

    ich versuche derzeit den Grund zu finden, warum in meine Programm noch eine alte LIB verwendet wird.

    $arm-linux-gnueabi-objdump -x robytask

    von libc.so.6 benötigt:
    0x06969195 0x00 12 GLIBC_2.15
    0x0d696914 0x00 04 GLIBC_2.4

    ....
    0000a10c F *UND* 00000000 __fdelt_chk@@GLIBC_2.15
    Hier scheint die Lib "__fdelt_chk" verwendet zu werden, nur den Code in meinem Programm zu finden, gelingt mir nicht.

    Kennt jemand dieses Problem.

    Viele Grüße

    R.
    Geändert von Ritchie (08.10.2014 um 20:21 Uhr) Grund: Titel falsch
    Kaum macht man es richtig, schon funktioniert's ...

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.266
    Naja so wie es aussieht scheinst du ja für einen Arm Prozessor kompilieren zu wollen auf dem ein Linux draufläuft. Dein Problem ist nun beim linken oder beim ausführen ? Wenn du crosscompilest solltest du darauf achten, dass du auch auf dem Buildsystem die richtigen abhängigkeiten verfügbar hast.

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

    das Problem ist bei der Ausführung.

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

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.266
    Jetzt Rück mal etwas mehr Infos raus. Was hast du für ein System. Crosscompilest du? Welches Linux verwendest du ?

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

    sorry.

    Ja, ich mache Crosscompiling für einen BeagleBone Black Rev C (Elementary) mit einem Debian Derviat auf ARM.
    uname -a
    Linux pitbully 3.8.13-bone47 #1 SMP Fri Apr 11 01:36:09 UTC 2014 armv7l GNU/Linux
    Ich verwende kubuntu 14.04 (letzter Stand)
    uname -a
    Linux ritchie 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:45 UTC 2014 i686 i686 i686 GNU/Linux
    mit der Toolchain
    arm-linux-gnueabi-g++ -v
    COLLECT_GCC=arm-linux-gnueabi-g++
    COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/lto-wrapper
    Ziel: arm-linux-gnueabi
    Konfiguriert mit: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.3-12ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.7.3 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-gnu-unique-object --disable-libmudflap --disable-libitm --enable-plugin --with-system-zlib --enable-objc-gc --with-cloog --enable-cloog-backend=ppl --disable-cloog-version-check --disable-ppl-version-check --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv5t --with-float=soft --disable-werror --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=arm-linux-gnueabi --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include
    Thread-Modell: posix
    gcc-Version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1)
    Hier die Make Datei des System:
    GCC_OPTIONS = -W -O03
    COMPILER = arm-linux-gnueabi-g++
    DEBUG_OPTIONS = -pedantic
    #COMPILER = g++
    #DEBUG_OPTIONS = -pedantic
    #GCC_OPTIONS = -W -g

    TARGETNAME = robytask
    LINUX_INCLUDE =
    LOCAL_INCLUDE = ./include/
    LOCAL_OBJ = ./obj/
    LOCAL_SRC = ./source/
    OBJS = obj/motor.o obj/nav.o obj/path.o obj/coordinate.o \
    obj/verhalte.o obj/robyvariable.o obj/robyvariablen.o obj/main.o obj/tcpservm.o \
    obj/sensordata.o obj/utility.o obj/roboterpose.o obj/servo.o obj/Logging.o \
    obj/i2cbustask.o

    all: ${TARGETNAME}
    ${TARGETNAME}: $(OBJS)
    $(COMPILER) -pthread $(GCC_OPTIONS) -L$(LOCAL_OBJ) $(OBJS) -o ${TARGETNAME}
    arm-linux-gnueabi-strip ${TARGETNAME}

    $(LOCAL_OBJ)robyvariable.o: $(LOCAL_SRC)robyvariable.cpp $(LOCAL_INCLUDE)robyvariable.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)robyvariable.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)robyvariable.cpp

    $(LOCAL_OBJ)robyvariablen.o: $(LOCAL_SRC)robyvariablen.cpp $(LOCAL_INCLUDE)robyvariablen.h $(LOCAL_INCLUDE)robyvariable.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)robyvariablen.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)robyvariablen.cpp

    $(LOCAL_OBJ)Logging.o: $(LOCAL_SRC)Logging.cpp $(LOCAL_INCLUDE)Logging.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)Logging.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)Logging.cpp

    $(LOCAL_OBJ)i2cbustask.o: $(LOCAL_SRC)i2cbustask.cpp $(LOCAL_INCLUDE)i2cbustask.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)i2cbustask.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)i2cbustask.cpp

    $(LOCAL_OBJ)motor.o: $(LOCAL_SRC)motor.cpp $(LOCAL_INCLUDE)motor.h $(LOCAL_INCLUDE)robyvariablen.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)motor.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)motor.cpp

    $(LOCAL_OBJ)nav.o: $(LOCAL_SRC)nav.cpp $(LOCAL_INCLUDE)nav.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)nav.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)nav.cpp

    $(LOCAL_OBJ)path.o: $(LOCAL_SRC)path.cpp $(LOCAL_INCLUDE)path.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)path.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)path.cpp

    $(LOCAL_OBJ)roboterpose.o: $(LOCAL_SRC)roboterpose.cpp $(LOCAL_INCLUDE)roboterpose.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)roboterpose.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)roboterpose.cpp

    $(LOCAL_OBJ)coordinate.o: $(LOCAL_SRC)coordinate.cpp $(LOCAL_INCLUDE)coordinate.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)coordinate.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)coordinate.cpp

    $(LOCAL_OBJ)sensordata.o: $(LOCAL_SRC)sensordata.cpp $(LOCAL_INCLUDE)sensordata.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)sensordata.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)sensordata.cpp

    $(LOCAL_OBJ)verhalte.o: $(LOCAL_SRC)verhalte.cpp $(LOCAL_INCLUDE)verhalte.h $(LOCAL_INCLUDE)picdefine.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)verhalte.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)verhalte.cpp

    $(LOCAL_OBJ)utility.o: $(LOCAL_SRC)utility.cpp $(LOCAL_INCLUDE)utility.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)utility.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)utility.cpp

    $(LOCAL_OBJ)servo.o: $(LOCAL_SRC)servo.cpp $(LOCAL_INCLUDE)servo.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)servo.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)servo.cpp

    $(LOCAL_OBJ)main.o: $(LOCAL_SRC)main.cpp $(LOCAL_INCLUDE)main.h $(LOCAL_INCLUDE)robyvariablen.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)main.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)main.cpp

    $(LOCAL_OBJ)tcpservm.o: $(LOCAL_SRC)tcpservm.cpp $(LOCAL_INCLUDE)tcpservm.h
    $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)tcpservm.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)tcpservm.cpp

    dummy:

    # Project temp daten loeschen
    clean:
    rm -f ${LOCAL_OBJ}*.o *~ ${LOCAL_SRC}*~ $(LOCAL_INCLUDE)*~
    rm -f ${TARGETNAME}

    #/************************************************** *************************/
    #/* End of file */
    #/************************************************** *************************/
    und bekomme zur Laufzeit des Programmes auf der Zielmaschine diese Meldung
    $ ./robytask: /lib/arm-linux-gnueabi/libc.so.6: version `GLIBC_2.15' not found (required by ./robytask)
    Ich verwendet kdevelop 4.6 für die Entwicklung und habe auch bereits die entsprechenden Include-Datei angelegt, damit ich die korrekten Lib's in der Entwicklung sehe.
    Daher mein bestreben, die Programmteile, welche diese LIB verwenden, auf die neue LIB 2.4 zu schreiben. Andere C-Programme arbeiten auf dem System.

    Viele Grüße

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

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.266
    Sofern ich richtig Informiert bin wird die libc mit der toolchain ausgeliefert (Man kann diese natürlich auch manuell upgraden bzw. dem compiler sagen er soll eine andere Version nehmen) Das einfachste könnte jedoch sein ein upgrade der toolchain zu versuchen.

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

    das blöde ist ja, das ich beide verwende. GCLIBC 2.15 und 2.4.
    Der Compiler ist meines Wissens laut ubunutu der letzte Stand.
    Das Paket ist jedenfalls aktuell.

    Nur wenn ich wüsste, welcher Programmteil, welche Funktion noch die alte LIB verwendet, könnte ich das ändern.

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

  8. #8
    Erfahrener Benutzer Begeisterter Techniker Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    41
    Beiträge
    398
    Crosscompile ist schon möglich... Es ist nicht ganz einfach ... vor allem wenn einem Wissen fehlt wie man Linking Fehler auf dem Target debuggt

    Wenn das nur ein robytask ist, gibt es eigentlich keinen Grund das nicht auf dem BBB direkt zu kompilieren. Das ist zumindest meine Empfehlung für dich. Hier speziell.

    Zum Crosscompile im allgemeinen braucht man Geduld um die Toolchain aufzusetzen. Man muss _wirklich_ wissen was auf dem Ziel läuft und _wiklich_ wissen was die Toolchain ausspuckt. Es sollte für dich dann auch kein Problem sein, eine eigene Toolchain zu bauen.Das ist meiner Meinung dein Hauptproblem. Deshalb, compiliere lieber auf dem Target selbst...

    Wie macht man eine Cross-Toolchain?
    http://elinux.org/ARMCompilers
    http://www.lowlevel.eu/wiki/ARM_Cross-Compiler

    Gruß
    Georg

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

    danke für die links.

    Hatte jedoch schon mehrfach tools für Raspberry PI, taskit Problemlos am rennen.
    Ich installiere jetzt die Tools nochmals von neuem.
    Normale C Programme arbeiten korrekt.

    Habe es fast genauso gemacht. http://www.michaelhleonard.com/cross...glebone-black/

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

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.266
    Was ist denn genau der Unterschied in deinem Programm im Vergleich zu anderen ?

Seite 1 von 2 12 LetzteLetzte

Ä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/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
  •