ARDrone SDK 2.0.1 - Compiling Linux Examples On Ubuntu 16.04 LTS


#1

I’m trying to compile ARDrone SDK 2.0.1 on an Ubuntu 16.04 LTS VM (64-bit). I was able to build it on 14.04 with the following changes:

$SDKDIR/Examples/Linux/Navigation/Build/Makefile
LIne 131: Add -lm at the end

$SDKDIR/Examples/Linux/video_demo/Build/Makefile
Line 47: Replace for: GENERIC_LIBS=-lpc_ardrone -lrt -lgtk-x11-2.0 -lcairo -lgobject-2.0 -lgdk-x11-2.0 -lm

$SDKDIR/Examples/Linux/Testbenches/ftp_test/Sources/ardrone_testing_tool.c
Replace uint64_t for “unsigned long long” (lines 285, 286)

However, even though I applied those changes, on 16.04 I still cannot build it successfully. Looks like the base libs are compiled, but the examples (linux_sdk_demo) fails.

After installing dependencies, I extract the SDK, update the Makefiles then try to build it:

cd ~/Projects/ARDrone_SDK_2_0_1/Examples/Linux
make

This is the error:

Building ARDroneTool/Lib
Building ARDroneTool/Lib
dep ardrone_testing_tool.c
dep Video/video_stage.c
dep Navdata/navdata.c
cc Navdata/navdata.c
cc Video/video_stage.c
cc ardrone_testing_tool.c
ld ardrone_testing_tool
../../Soft/Build/targets_versions/linux_sdk_demo_PROD_MODE_vlib_Linux_4.4.0-38-generic_GNU_Linux_usrbingcc_5.4.0/Navdata/navdata.o:(.data+0x80): undefined reference to `demo_navdata_client_init'
../../Soft/Build/targets_versions/linux_sdk_demo_PROD_MODE_vlib_Linux_4.4.0-38-generic_GNU_Linux_usrbingcc_5.4.0/Navdata/navdata.o:(.data+0x88): undefined reference to `demo_navdata_client_process'
../../Soft/Build/targets_versions/linux_sdk_demo_PROD_MODE_vlib_Linux_4.4.0-38-generic_GNU_Linux_usrbingcc_5.4.0/Navdata/navdata.o:(.data+0x90): undefined reference to `demo_navdata_client_release'
collect2: error: ld returned 1 exit status
generic.makefile:136: recipe for target '/home/marioc/Projects/ARDrone_SDK_2_0_1/Examples/Linux/sdk_demo/Build/../../Build/Release/ardrone_testing_tool' failed
make[4]: *** [/home/marioc/Projects/ARDrone_SDK_2_0_1/Examples/Linux/sdk_demo/Build/../../Build/Release/ardrone_testing_tool] Error 1
app.makefile:33: recipe for target 'all' failed
make[3]: *** [all] Error 2
Makefile:163: recipe for target 'build_app' failed
make[2]: *** [build_app] Error 2
Makefile:70: recipe for target 'linux_sdk_demo' failed
make[1]: *** [linux_sdk_demo] Error 2
make[1]: Leaving directory '/home/marioc/Projects/ARDrone_SDK_2_0_1/Examples/Linux/sdk_demo/Build'
Makefile:5: recipe for target 'all' failed
make: *** [all] Error 2

I tried to fix this without success. Was anyone able to make it work?


#2

hola

intenta instalar en una maquina virtual una versión anterior de ubuntu te recomiendo ubuntu precise 12.04 lts a mi me funciono así.


#3

I have the same problem but haven’t find the solution. I can’t change my ubuntu version because of the Nvidia driver. Did you get over the problem with 16.04?


#4

Hi,
Did you solve your issue ?


#5

hi.
I have the same problems.
Please tell me.


#6

Hi, just a word saying that I’ve tried a fresh install of Ubuntu 12.04 (on VirtualBox) and downloaded the ARDrone SDK 2.0.1, after extracting it and launching the build, everything was running fine :wink:

1  wget http://developer.parrot.com/docs/SDK2/ARDrone_SDK_2_0_1.zip
2  unzip ARDrone_SDK_2_0_1.zip 
3  cd ARDrone_SDK_2_0_1/
4  cd Examples/Linux/
5  make

It automagically downloaded and installed dependancies, and finished build :smiley:

I know it does not answer your issue, but installing VirtualBox / Ubuntu 12.04.5 only took me 20 minutes and now I have compiled and running examples :wink: