AutonomyLab / parrot_arsdk

Catkin wrapper for Parrot ARSDK

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Install on ros noetic

HerveFrezza-Buet opened this issue · comments

Dear authors,
The ros noetic package is not provided yet in the distribution, so I installed it from the current git.
I cloned the git in my rosworkspace/src directory, and "catkin build".
I got the following and I am stuck.
Many thnks for any help.

Best regards
Hervé

[I] Starting task 'build-sdk'
[I] In '/home/herve/ros-ws/build/parrot_arsdk/arsdk/src/ARSDKBuildUtils': ALCHEMY_TARGET_CONFIG_DIR="/home/herve/ros-ws/build/parrot_arsdk/arsdk/src/ARSDKBuildUtils/products/arsdk/native/config" ALCHEMY_TARGET_OUT="/home/herve/ros-ws/build/parrot_arsdk/arsdk/src/ARSDKBuildUtils/out/arsdk-native" ALCHEMY_TARGET_PRODUCT="arsdk" ALCHEMY_TARGET_PRODUCT_VARIANT="native" ALCHEMY_TARGET_SCAN_ADD_DIRS=" /home/herve/ros-ws/build/parrot_arsdk/arsdk/src/ARSDKBuildUtils/packages" ALCHEMY_TARGET_SCAN_PRUNE_DIRS=" /home/herve/ros-ws/build/parrot_arsdk/arsdk/src/ARSDKBuildUtils" ALCHEMY_USE_COLORS="0" ALCHEMY_WORKSPACE_DIR="/home/herve/ros-ws/build/parrot_arsdk/arsdk/src/ARSDKBuildUtils" PARROT_BUILD_PROP_GROUP="drones" PARROT_BUILD_PROP_PRODUCT="arsdk" PARROT_BUILD_PROP_PROJECT="arsdk" PARROT_BUILD_PROP_UID="arsdk-native-20200701-1112-0.0.0" PARROT_BUILD_PROP_VARIANT="native" PARROT_BUILD_PROP_VERSION="0.0.0" /home/herve/ros-ws/build/parrot_arsdk/arsdk/src/ARSDKBuildUtils/build/alchemy/scripts/alchemake -j 4 all
[W] Not using job control
make[3]: warning: -j4 forced in submake: resetting jobserver mode.
/home/herve/ros-ws/build/parrot_arsdk/arsdk/src/ARSDKBuildUtils/build/alchemy/targets/setup.mk:30: *** unspecified TARGET_ARCH. Stop.
[E] Task 'build-sdk' failed (Command failed (returncode=2))
make[2]: *** [CMakeFiles/ARSDKBuildUtils.dir/build.make:114: arsdk/src/ARSDKBuildUtils-stamp/ARSDKBuildUtils-build] Error 1
make[1]: *** [CMakeFiles/Makefile2:333: CMakeFiles/ARSDKBuildUtils.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
cd /home/herve/ros-ws/build/parrot_arsdk; catkin build --get-env parrot_arsdk | catkin env -si /usr/bin/make --jobserver-auth=3,4; cd -

I am also having this issue

I am also having the same issue did anyone found a solution ?

Hey,

I found the solution to this issue. You need to change line 12 of file scripts/get_arch.py to the following:

arch = subprocess.check_output(["gcc", "-dumpmachine"]).decode("utf-8").strip().split("-")[0]

Changes can be found on branch noetic-devel in the following fork : larics/parrot_arsdk

@lmark1 I tried your solution and I am still getting the same error as @HerveFrezza-Buet .

Here is the routine I use.

cd my-ros-workspace/src
git clone https://github.com/AutonomyLab/parrot_arsdk.git
cd parrot_arsdk

Then, as the HowTo.md says

I check the version at https://github.com/Parrot-Developers/arsdk_manifests/releases (e.g. 3_14_0)
I edit script/download_and_strip_arsdk.sh, but it was already ok for me.
I run
./script/download_and_strip_arsdk.sh
I get errors but I have an archive generated. I move it in sdk/
I update CMakeList.txt... but it was already ok for me.

Then I try to compile

cd my-ros-workspace/
catkin build

It complains about checksums, suggesting an 'actual' one. This is the one I write in my-ros-workspace/src/parrot_arsdk/CMakeLists.txt as
set(ARSDK_ARCHIVE_MD5 ) // line 21 when I tried

I modified the line 12 of scripts/get_arch.py as previously suggested (thanks)

arch = subprocess.check_output(["gcc", "-dumpmachine"]).decode("utf-8").strip().split("-")[0]

Then,

catkin build
works (with warnings)

Next, I need to tell the compilers where the library is. I did it by updating my .bashrc with this line

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:my-ros-workspace/devel/lib/parrot_arsdk

Now, I can compile bebop autonomy, but syntax errors need to be fixed first

cd my-ros-workspace/src
git clone https://github.com/AutonomyLab/bebop_autonomy.git

You will have compiling errors : modify my-ros-workspace/src/bebop_autonomy/bebop_driver/src/bebop_video_decoder.cpp for fiixing bad macro names. Some macro are like CODEC_... instead of AV_CODEC_..., the errors are near line 96

Then compiling succeeds

sudo rosdep init
rosdep update
rosdep install --from-paths src -i
catkin clean
catkin build

This sounds a bit like a receipe, but it worked for me. I hope it will help.

Hey
This did not work for me, my system crashes on running catkin build

I update CMakeList.txt... but it was already ok for me.

What changes need to be made?

It complains about checksums, suggesting an 'actual' one. This is the one I write in my-ros-workspace/src/parrot_arsdk/CMakeLists.txt as
set(ARSDK_ARCHIVE_MD5 ) // line 21 when I tried

Which checksum is to be set?

I modified the line 12 of scripts/get_arch.py as previously suggested (thanks)
arch = subprocess.check_output(["gcc", "-dumpmachine"]).decode("utf-8").strip().split("-")[0]
Then,
catkin build
works (with warnings)

At this stage on my machine catkin build fails

Please let me know if you faced this and how you proceeded