paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] Build Errors when building from terminal


From: Christophe De Wagter
Subject: Re: [Paparazzi-devel] Build Errors when building from terminal
Date: Sat, 14 Dec 2013 22:04:21 +0100

when you "make" in the command line, make sure to set you PAPARAZZI_HOME env variable. now $(PAPARAZZI_HOME)/var points to /var .... -> not found

alternatively: build from ./paparazzi with the button (which will set the env variable temporarily for you)

FYI Build order is:

./paparazzi/Makefile
./paparazzi/conf/your_selected_conf.xml
using the selected airframe.xml
./paparazzi/var/AIRFRAME/Makefile.ac is generated
depending on the seleted target: the ARCHitecture and BOARD Makefiles are loaded and all SUBSYSTEM Makefiles
for Ardrone:
./paparazzi/conf/Makefile.omap


-Christophe 


On Sat, Dec 14, 2013 at 9:50 PM, Daren Lee <address@hidden> wrote:
Hi,

I am trying to understand the build process in more detail. I am currently targeting the AR Drone 2, as such, I followed these instructions: http://paparazzi.enac.fr/wiki/AR_Drone_2/getting_started

The installation was successful, I was able to perform a simple build of ardrone2_raw with target set to AC.

When examining the build logs, I see this command:

=================Copy/paste Begin=============================
RUN 'make -C /home/ub-username/paparazzi -f Makefile.ac AIRCRAFT=ardrone2_raw ap.compile '
make: Entering directory `/home/ub-username/paparazzi'
-----------------------------------------------------------------------
Paparazzi version v5.1_devel-683-g4978164-dirty
-----------------------------------------------------------------------
=================Copy/paste End==============================

Out of curiosity, I tried running the make command from a regular Ubuntu terminal window, but i get the following error messages:
===================Copy/paste Begin==============================
address@hidden:~/paparazzi$ make -C /home/ub-username/paparazzi -f Makefile.ac AIRCRAFT=ardrone2_raw ap.compile
make: Entering directory `/home/ub-username/paparazzi'
-----------------------------------------------------------------------
Paparazzi version v5.1_devel-683-g4978164-dirty
-----------------------------------------------------------------------
ardrone2_raw
BUILD ardrone2_raw, TARGET ap
make[1]: Entering directory `/home/ub-username/paparazzi'
--Exiting srcs.list includes-----------
make[1]: Leaving directory `/home/ub-username/paparazzi'
make[1]: Entering directory `/home/ub-username/paparazzi'
make[1]: Nothing to be done for `radio_ac_h'.
make[1]: Leaving directory `/home/ub-username/paparazzi'
make[1]: Entering directory `/home/ub-username/paparazzi'
make[1]: Leaving directory `/home/ub-username/paparazzi'
cd sw/airborne; make TARGET=ap all
make[1]: Entering directory `/home/ub-username/paparazzi/sw/airborne'
Makefile:40: /var/ardrone2_raw/Makefile.ac: No such file or directory
Makefile:46: *** Architecture not set, maybe you forgot to add the target? e.g. <target name="tunnel" board="twog_1.0"/>.  Stop.
make[1]: Leaving directory `/home/ub-username/paparazzi/sw/airborne'
make: *** [ap.compile] Error 2
make: Leaving directory `/home/ub-username/paparazzi'

====================Copy/paste End======================================


I think its fairly clear that the Paparazzi utility must be doing a little more than just running the "make -C /home/ub-username/paparazzi -f Makefile.ac AIRCRAFT=ardrone2_raw ap.compile" command. My guess is that its taking the settings from the GUI and modifying something to allow successful builds (ie: board selection, XML files for code generation, etc). My questions are:

a) is there any clear/concise documentation of what additional makefiles are invoked or paths being included with the paparazzi utility?

b) I've found references to other makefiles, some responsible for setting up other important settings:
paparazzi\conf\boards\ardrone2_raw.makefile  <-- talks about device mapping, gps baud rate, USB ports, etc
paparazzi\Makefile  
paparazzi\sw\airborn\makefile <--- talks about architecture, in this context, its ARM cross compiler
paparazzi\conf\Makefile.arm-common <--- i can add an echo command here and it appears in the build logs in Paparazzi as well

I'm not sure how makefile.ac interacts with any of these other makefiles - from reading makefile.ac its not clear to me.  I have limited experience  with writing/interperting makefiles so I may have missed something obvious.

c) What steps should I take to do builds outside of the paprazzi utility (ie: from the command terminal?)

_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]