|
From: | Jorn Anke |
Subject: | [Paparazzi-devel] Problem compiling with a custom written subroutine (zamboni-survey) |
Date: | Fri, 8 Mar 2013 01:39:47 +0100 |
Hi, After following Christophes advice, I had my setup working. Then, after changing from the stable branch to the master; ----------------------------------------------------------------------- Paparazzi version v4.9_devel-646-g4733bc4-dirty ----------------------------------------------------------------------- I have an old error-message re-appearing; LD /home/jorn/paparazzi/var/My_Lisa_Skywalker/ap/ap.elf /home/jorn/paparazzi/var/My_Lisa_Skywalker/ap/subsystems/nav.o: In function `auto_nav': /home/jorn/paparazzi/var/My_Lisa_Skywalker/generated/flight_plan.h:191: undefined reference to `init_zamboni_survey' /home/jorn/paparazzi/var/My_Lisa_Skywalker/generated/flight_plan.h:195: undefined reference to `zamboni_survey' collect2: ld returned 1 exit status make[1]: *** [/home/jorn/paparazzi/var/My_Lisa_Skywalker/ap/ap.elf] Error 1 make[1]: Leaving directory `/home/jorn/paparazzi/sw/airborne' make: *** [ap.compile] Error 2 make: Leaving directory `/home/jorn/paparazzi' FAILED 'make -C /home/jorn/paparazzi -f Makefile.ac AIRCRAFT=My_Lisa_Skywalker ap.compile' with code 2 ______________ The; /conf/firmwares/subsystems/fixedwing/navigation_extra.makefile, is not changed since from before. Looks like this; # Hey Emacs, this is a -*- makefile -*- # standard and extra fixed wing navigation #add these to all targets $(TARGET).CFLAGS += -DNAV $(TARGET).srcs += $(SRC_SUBSYSTEMS)/nav.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/common_flight_plan.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/traffic_info.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/nav_survey_rectangle.c $(SRC_SUBSYSTEMS)/navigation/nav_line.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/nav_cube.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/discsurvey.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/OSAMNav.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/snav.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/spiral.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/poly_survey_adv.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/gls.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/border_line.c $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/zamboni_survey.c So, once again, anyone who can tell what I have been doing wrong this time? Cheers Jorn
It is an LD error, meaning not a compile but a linking error. The linker (program that puts all separatly compiled functions together) complains it does not find 2 functions... In other words, you did not add your subsystems/navigation/zamboni_survey.c to the list of files that need to be compiled in this case. In even other words it is not in the makefile. You can add it for instance in /conf/firmwares/subsystems/fixedwing/navigation_extra.makefile or make a new subsystem makefile for just your files. Or alternatively add a <makefile> section in your airframe file containing ap.srcs += subsystems/navigation/zamboni_survey.c -Christophe |
[Prev in Thread] | Current Thread | [Next in Thread] |