ardrone_autonomy icon indicating copy to clipboard operation
ardrone_autonomy copied to clipboard

build_lib recipe fails in VP_SDK

Open pallegro opened this issue 11 years ago • 7 comments

In commit afa3bd2ecc62ee6a05f86d2920cbb49ff413b10b the build_lib recipe was added to the VP_SDK Makefile:

+# Following three lines added after more than four hours of WTF debugging -- mani
+  ifeq ($(USE_LINUX),yes)
+     build_lib: build_$(1)
+  endif

libvlib.a, libsdk.a, libpc_ardrone.a, and libpc_ardrone_notool.a get built, but then build_lib fails, it seems because it has no target. Since you've gone through "four hours of WTF debugging" perhaps you have some theories of what could be going wrong? What is build_lib supposed to build?

ar rcs libpc_ardrone.a iniparser3.0b/src/iniparser.o ...
\033[32;01mBuilding ARDroneTool/Lib\033[0m
ar rcs libpc_ardrone_notool.a iniparser3.0b/src/iniparser.o ...
ar rcs
rm: cannot remove ‘../../Soft/Build/targets_versions/_PROD_MODE_vlib_Linux_3.12.7-2-ARCH_GNU_Linux_usrbingcc_4.8.2/’: Is a directory
generic.makefile:125: recipe for target '../../Soft/Build/targets_versions/_PROD_MODE_vlib_Linux_3.12.7-2-ARCH_GNU_Linux_usrbingcc_4.8.2/' failed
make[6]: *** [../../Soft/Build/targets_versions/_PROD_MODE_vlib_Linux_3.12.7-2-ARCH_GNU_Linux_usrbingcc_4.8.2/] Error 1
lib.makefile:24: recipe for target 'all' failed
make[5]: *** [all] Error 2
Makefile:167: recipe for target 'build_lib' failed

I can prevent this error with a tiny patch to ARDroneLib/VP_SDK/Build/generic.makefile

123c123
< ifneq ("$(INTERNAL_LIBRARY_TARGET_OFILES)","")

---
> ifneq ("$(strip $(INTERNAL_LIBRARY_TARGET_OFILES))","")

but this just results in:

ar rcs libpc_ardrone.a iniparser3.0b/src/iniparser.o ...
\033[32;01mBuilding ARDroneTool/Lib\033[0m
ar rcs libpc_ardrone_notool.a iniparser3.0b/src/iniparser.o ...
make[6]: *** No rule to make target '../../Soft/Build/targets_versions/_PROD_MODE_vlib_Linux_3.12.7-2-ARCH_GNU_Linux_usrbingcc_4.8.2/', needed by 'all'.  Stop.
lib.makefile:24: recipe for target 'all' failed
make[5]: *** [all] Error 2
Makefile:167: recipe for target 'build_lib' failed

pallegro avatar Jan 18 '14 19:01 pallegro

SDK/Soft/Build/Makefile calls SDK/Soft/Lib/Build/Makefile which in turn calls SDK/VP_SDK/Build/Makefile with the approviate variables set, so its unnecessary to call the VP_SDK makefile explicitly.

pallegro avatar Jan 19 '14 20:01 pallegro

@pallegro I met the exact same error, did you solve this problem??

AlvarHHM avatar Dec 22 '14 16:12 AlvarHHM

I haven't used this in a while, but I believe you just need to comment out ardrone_autonomy/sdk.makefile:21 @$(MAKE) -C $(SDK_PATH)/VP_SDK/Build ...

the preceeding line already builds everything we need, at least as far as I could tlel

pallegro avatar Dec 24 '14 05:12 pallegro

@pallegro Does this happen when using the new build system which fetches ardronelib from https://github.com/AutonomyLab/ardronelib ?

mani-monaj avatar Jan 10 '15 21:01 mani-monaj

Yep, just checked and I'm still affected by this. In the new build system I need to comment line 21 of the root Makefile of https://github.com/AutonomyLab/ardronelib .
@AlvarTheCoder Did you get a chance to try my fix?

pallegro avatar Jan 10 '15 23:01 pallegro

@pallegro I am compiling on raspberry pi, not sure if it will work for you I basically just apply the patch https://gist.github.com/mtourne/7258641 in #71 manually by hand and it work

AlvarHHM avatar Jan 10 '15 23:01 AlvarHHM

I have the exact same error and am a beginner here. I am also using Jade and I have no idea how to try out the solution suggested above. Can someone please break it down for me?

himanshisyadav avatar Jun 15 '15 14:06 himanshisyadav