2016-01-28 3 views
2

Я пытаюсь создать AR Drone SDK на Ubuntu. При компиляции библиотек я получаю ошибку:Компиляция AR Drone SDK завершается с отсутствием DSO из командной строки

//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

Я не понимаю, в чем проблема. Я следую this tutorial, и проблема возникает, когда я запускаю make. Я запустил ARDroneLib/Soft/Build/check_dependencies.sh, и он выводит нормально.

Любые идеи, в чем проблема? Ниже приведен полный вывод от запуска make.

[email protected]:~/Projects/ARDrone/ARDrone_SDK_2_0_1/Examples/Linux$ make 
make[1]: Entering directory `/home/soribo/Projects/ARDrone/ARDrone_SDK_2_0_1/ARDroneLib/Soft/Build' 
Libs already extracted 
Building target static 
Architecture x86_64 is already built 
Creating universal static lib file from architectures x86_64 
Build done. 
Checking required Ubuntu packages ... 
ok. 
Building ARDroneTool/Lib 
Building ARDroneTool/Lib 
make[1]: Leaving directory `/home/soribo/Projects/ARDrone/ARDrone_SDK_2_0_1/ARDroneLib/Soft/Build' 
make[1]: Entering directory `/home/soribo/Projects/ARDrone/ARDrone_SDK_2_0_1/Examples/Linux/Navigation/Build' 
-- Building ardrone_navigation -- 
Libs already extracted 
Building target static 
Architecture x86_64 is already built 
Creating universal static lib file from architectures x86_64 
Build done. 
Checking required Ubuntu packages ... 
ok. 
Building ARDroneTool/Lib 
Building ARDroneTool/Lib 
-- Linking ardrone_navigation -- 
ld common/mobile_main 
/usr/bin/ld: ../../Soft/Build/targets_versions/ffmpeg_static_PROD_MODE_Linux_3.19.0-25-generic_GNU_Linux_usrbingcc_4.8.4/libavutil.a(eval.o): undefined reference to symbol '[email protected]@GLIBC_2.2.5' 
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line 
collect2: error: ld returned 1 exit status 
make[4]: *** [/home/soribo/Projects/ARDrone/ARDrone_SDK_2_0_1/Examples/Linux/Navigation/Build/../../Build/Release/common/mobile_main] Error 1 
make[3]: *** [all] Error 2 
make[2]: *** [build_app] Error 2 
make[1]: *** [ardrone_navigation] Error 2 
make[1]: Leaving directory `/home/soribo/Projects/ARDrone/ARDrone_SDK_2_0_1/Examples/Linux/Navigation/Build' 
make: *** [all] Error 2 

ответ

2

У меня была та же проблема. Я нашел решение здесь:

http://jderobot.org/Varribas-tfm/ARDrone:starting_up#Building_Examples

Looking for undefined reference to symbol '[email protected]@GLIBC_2.2.5', I reached to [2], that confirms an unmeet dependency problem [1]. What happened here?

libavutil.a(eval.o): undefined reference to symbol '[email protected]@GLIBC_2.2.5' 
libm.so.6: error adding symbols: DSO missing from command line 

First line say us that libavutil is using fabs. It is declared into libm library, but -lm is missed in command line (Makefile).

ARDrone_SDK_2_0_1/Examples/Linux/Navigation/Build/Makefile:131 
GENERIC_LIBS+=-liw -lpc_ardrone -lgthread-2.0 -lgtk-x11-2.0 -lrt -lxml2 -ludev -lswscale -lSDL -lm 

Then, Navigation will compile successfully.