build_lib recipe fails in VP_SDK
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
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 I met the exact same error, did you solve this problem??
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 Does this happen when using the new build system which fetches ardronelib from https://github.com/AutonomyLab/ardronelib ?
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 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
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?