Компиляция AR Drone SDK завершается неудачно, DSO отсутствует в командной строке
Я пытаюсь собрать AR Drone SDK на Ubuntu. При компиляции библиотек я получаю ошибку:
//lib/x86_64-linux-gnu/libm.so.6: ошибка при добавлении символов: DSO отсутствует в командной строке
collect2: error: ld вернул 1 состояние выхода
Я не понимаю, в чем проблема. Я следую этому уроку, и проблема возникает при запуске make
, Я бегал ARDroneLib/Soft/Build/check_dependencies.sh
и выводит ок.
Есть идеи, в чем проблема? Ниже приведен полный вывод команды make.
soribo@soribo-vm:~/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 'fabs@@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
1 ответ
У меня такая же проблема. Я нашел решение здесь:
http://jderobot.org/Varribas-tfm/ARDrone:starting_up
Ища неопределенную ссылку на символ 'fabs@@GLIBC_2.2.5', я дошел до [2], что подтверждает проблему зависимости unmeet [1]. Что здесь случилось?
libavutil.a(eval.o): undefined reference to symbol 'fabs@@GLIBC_2.2.5'
libm.so.6: error adding symbols: DSO missing from command line
Первая строка говорит нам, что libavutil использует fabs. Он объявлен в библиотеке libm, но -lm отсутствует в командной строке (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
Затем навигация будет успешно скомпилирована.