GCC Crosscompiler unter Debian Wheezy

Dieses Thema im Forum "Anwendungen" wurde erstellt von betaros, 20.11.2014.

  1. #1 betaros, 20.11.2014
    betaros

    betaros Computerspezi

    Dabei seit:
    02.02.2008
    Beiträge:
    181
    Zustimmungen:
    0
    Moin,

    ich versuche unter Debian Wheezy Paparazzi UAV zum laufen zu bekommen und habe es nach dieser Anleitung installiert und kompiliert: http://wiki.paparazziuav.org/wiki/Installation/Linux

    Die Installation war auch erfolgreich und ich kann Paparazzi starten, wenn ich jedoch zu einen Copter etwas uploaden möchte kommt folgende Meldung:
    Code:
    RUN 'make -C /opt/paparazzi -f Makefile.ac AIRCRAFT=ardrone2_sdk  ap.upload '
    make: Entering directory `/opt/paparazzi'
    -----------------------------------------------------------------------
    Paparazzi version v5.3_devel-318-g80953a8
    -----------------------------------------------------------------------
    #######################################
    # BUILD AIRCRAFT=ardrone2_sdk, TARGET ap
    #######################################
    make[1]: Entering directory `/opt/paparazzi'
    GENERATE autopilots in /opt/paparazzi/var/aircrafts/ardrone2_sdk/ap/generated/
    make[1]: Leaving directory `/opt/paparazzi'
    make[1]: Entering directory `/opt/paparazzi'
    make[1]: Nothing to be done for `radio_ac_h'.
    make[1]: Leaving directory `/opt/paparazzi'
    make[1]: Entering directory `/opt/paparazzi'
    make[1]: Nothing to be done for `flight_plan_ac_h'.
    make[1]: Leaving directory `/opt/paparazzi'
    cd sw/airborne; make -j1 TARGET=ap all
    make[1]: Entering directory `/opt/paparazzi/sw/airborne'
    /opt/paparazzi/conf/Makefile.arm-linux-toolchain:20: *** Error: arm-linux-gnueabi-gcc cross-compiler not found! Please install the gcc-arm-linux-gnueabi package..  Stop.
    make[1]: Leaving directory `/opt/paparazzi/sw/airborne'
    make: *** [ap.compile] Error 2
    make: Leaving directory `/opt/paparazzi'
    
    FAILED 'make -C /opt/paparazzi -f Makefile.ac AIRCRAFT=ardrone2_sdk  ap.upload' with code 2
    
    Ich habe bereits mir gcc-arm-none-eabi-4_7-2013q2 runtergeladen, da dies ja auch fürs kompilieren von Paparazzi notwendig war, jedoch habe ich weiterhin den Fehler. Auch das installieren von gcc-arm-none-eabi aus den Jessie Repo, sowie ia32 hat nichts geholfen. Jede Hilfe ist willkommen :)

    Grüße
    betaros
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bitmuncher, 20.11.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Befindet sich das Programm 'arm-linux-gnueabi-gcc' im $PATH deines Rechners? Wird ggf. im Makefile der PATH irgendwo gesetzt, so dass die Datei nicht gefunden wird?
     
  4. #3 betaros, 20.11.2014
    betaros

    betaros Computerspezi

    Dabei seit:
    02.02.2008
    Beiträge:
    181
    Zustimmungen:
    0
    Vielen Dank für die schnelle Hilfe! Ich habe mir nochmal die PATH Variable angeschaut und die sehen bei mir nun folgender maßen:

    User:
    Code:
    kasimir@debian-vm:~$ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/opt/paparazzi/arm-multilib/arm-none-eabi/bin
    
    Root:
    Code:
    root@debian-vm:/home/kasimir# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/paparazzi/arm-multilib/arm-none-eabi/bin
    
    Jedoch hilft dies leider nicht weiter :(

    Die Makefile sieht folgendermaßen aus:
    Code:
    # Hey Emacs, this is a -*- makefile -*-
    
    #
    # Copyright (C) 2012 - TU Delft Robotics Minor - Dino Hensen and Freek van Tienen
    #
    # Minimal makefile for arm-linux-gnueabi or arm-none-linux-gnueabi toolchain.
    # Assuming installed in default location.
    
    PREFIX ?= arm-linux-gnueabi
    
    #
    # if gcc can't be found in path, try the codesourcery toolchain in /usr/local/codesourcery
    #
    ifeq ($(shell which $(PREFIX)-gcc),)
      TOOLCHAIN=$(shell find -L /usr/local/codesourcery -maxdepth 2 -type d -name arm-none-linux-gnueabi 2>/dev/null | head -n 1)
      ifneq ($(TOOLCHAIN),)
        PREFIX=$(shell dirname $(TOOLCHAIN))/bin/arm-none-linux-gnueabi
      else
        # no suitable toolchain found...
        $(error Error: arm-linux-gnueabi-gcc cross-compiler not found! Please install the gcc-arm-linux-gnueabi package.)
      endif
    else
      # this was previously explicitly added, but shouln't be needed...
      #CFLAGS += -I/usr/arm-linux-gnueabi/include
    endif
    
    CC   = $(PREFIX)-gcc
    LD   = $(PREFIX)-gcc
    AR   = $(PREFIX)-ar
    CP   = $(PREFIX)-objcopy
    DMP  = $(PREFIX)-objdump
    NM   = $(PREFIX)-nm
    SIZE = $(PREFIX)-size
    GDB  = $(PREFIX)-gdb
    
    # some general commands
    RM = rm
    
     
  5. #4 bitmuncher, 20.11.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Hm... dein Makefile scheint ja gar nicht in $PATH zu suchen, sondern das Toolchain-Directory zu verwenden. Was gibt dir denn der im Makefile verwendete Befehl aus?

    Code:
    find -L /usr/local/codesourcery -maxdepth 2 -type d -name arm-none-linux-gnueabi
    Kannst du denn das Programm arm-linux-gnueabi-gcc (PREFIX ?= arm-linux-gnueabi -> CC = $(PREFIX)-gcc) im Terminal aufrufen? Was sagt 'which arm-linux-gnueabi-gcc'?
     
  6. #5 betaros, 20.11.2014
    betaros

    betaros Computerspezi

    Dabei seit:
    02.02.2008
    Beiträge:
    181
    Zustimmungen:
    0
    Code:
    kasimir@debian-vm:~$ which arm-linux-gnueabi-gcc                                                                                                                                                                                                                               
    kasimir@debian-vm:~$ find -L /usr/local/codesourcery -maxdepth 2 -type d -name arm-none-linux-gnueabi                                                                                                                                                                          
    find: "/usr/local/codesourcery": No such file or directory                                                                                                                                                                                                                     
    kasimir@debian-vm:~$ arm-linux-gnueabi-gcc (PREFIX ?= arm-linux-gnueabi -> CC = $(PREFIX)-gcc)                                                                                                                                                                                 
    bash: Syntaxfehler beim unerwarteten Wort `PREFIX' 
    Es sieht so aus, als ob er das Tool nicht findet, obwohl ich den Pfad ja angegeben habe :(
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 bitmuncher, 20.11.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Dann solltest du mal schauen wo das Compiler-Binary auf deiner Platte ist und das Makefile entsprechend anpassen.
     
  9. #7 betaros, 21.11.2014
    betaros

    betaros Computerspezi

    Dabei seit:
    02.02.2008
    Beiträge:
    181
    Zustimmungen:
    0
    Das Anpassen der Makefile hat geholfen, vielen Dank für den Tipp und die Hilfe! :winke:
     
Thema: GCC Crosscompiler unter Debian Wheezy
Besucher kamen mit folgenden Suchen
  1. gcc-arm-none-eabi pakete nicht gefunden

Die Seite wird geladen...

GCC Crosscompiler unter Debian Wheezy - Ähnliche Themen

  1. Update auf Apache >=2.4.12 unter Debian Jessie

    Update auf Apache >=2.4.12 unter Debian Jessie: Hi, aufgrund eines Bugs in Apache 2.4 benötige ich zum Deployment von Seafile unter Debian Jessie das Paket apache2 in der Version >= 2.4.12...
  2. Was mache ich falsch? Tiniywm und Mate Install unter OpenBSD

    Was mache ich falsch? Tiniywm und Mate Install unter OpenBSD: Hallo, # make tiny make: don't know how to make tiny Stop in /root/Downloads/tiny/tinywm-1.3 # make tinywm cc -O2 -pipe -o tinywm tinywm.c...
  3. Samba unter Windows 10

    Samba unter Windows 10: Hallo zusammen, ich habe auf meinen Ubuntu Server Samba installiert und eingerichtet. ich kann mich bei Windows 10 mit den Daten anmelden und...
  4. Netzwerkaufbau mit simulierten Paketen unter Linux

    Netzwerkaufbau mit simulierten Paketen unter Linux: Hallo, ich habe folgendes Problem. Da ich noch sehr unerfahren in Sachen Linux bzw. Netzwerkaufbau bin, wollte ich fragen, ob Ihr mir vllt etwas...
  5. Akonadi unterstützt Microsoft EWS

    Akonadi unterstützt Microsoft EWS: Krzysztof Nowicki hat eine initiale Unterstützung von Microsoft Exchange Web Services (EWS) für den KDE-Datenverwaltungsdienst »Akonadi«...