From 772dc9a67ad1d15795a24fee85848da2c0f5cdc1 Mon Sep 17 00:00:00 2001 From: Naoto Tsukamoto Date: Wed, 26 Apr 2023 12:21:01 +0900 Subject: [PATCH 1/5] [unitree/cross] Fix app_manager url and version in unitree.repos --- jsk_unitree_robot/cross/repos/unitree.repos | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jsk_unitree_robot/cross/repos/unitree.repos b/jsk_unitree_robot/cross/repos/unitree.repos index 8e8e056cc1..172aae74f9 100644 --- a/jsk_unitree_robot/cross/repos/unitree.repos +++ b/jsk_unitree_robot/cross/repos/unitree.repos @@ -19,5 +19,8 @@ repositories: version: develop app_manager: type: git - url: https://github.com/Affonso-Gui/app_manager - version: enable-parallel-run-apps + url: https://github.com/PR2/app_manager + version: kinetic-devel + # enable to run simple apps parallel to other apps + # https://github.com/PR2/app_manager/pull/59 have been merged, + # but 1.4.0 have not released yet. From 879c9d988f197eabf27749b23c237866cc655c01 Mon Sep 17 00:00:00 2001 From: Naoto Tsukamoto Date: Wed, 26 Apr 2023 12:23:57 +0900 Subject: [PATCH 2/5] [unitree/cross] Install python-typing to avoid import error in python2.7 --- jsk_unitree_robot/cross/docker/Dockerfile_ros1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jsk_unitree_robot/cross/docker/Dockerfile_ros1 b/jsk_unitree_robot/cross/docker/Dockerfile_ros1 index bb0eb650f9..679eed2d4b 100644 --- a/jsk_unitree_robot/cross/docker/Dockerfile_ros1 +++ b/jsk_unitree_robot/cross/docker/Dockerfile_ros1 @@ -29,7 +29,9 @@ RUN apt install -y --no-install-recommends $(cat ros-packages.txt | grep -v ^#) RUN apt install -y python-pip RUN git clone https://github.com/k-okada/rosinstall_generator /tmp/rosinstall_generator -b add_depend_type RUN pip install /tmp/rosinstall_generator -RUN apt install -y python3-vcstool +RUN apt install -y python3-vcstool python-typing +# python-typing is necessary to avoid import error in build_ros1_dependencies.sh + # # Setup Users # From 0ec465c1b8483f221ccfb971108eaefca41a6ac2 Mon Sep 17 00:00:00 2001 From: Naoto Tsukamoto Date: Wed, 26 Apr 2023 12:32:31 +0900 Subject: [PATCH 3/5] [unitree/cross] Add libfcl-dev and libccd-dev to dependencies, which is needed by geometric_shapes --- .../cross/repos/ros1_dependencies.repos | 14 ++++++++ .../1043-libccd-dev | 32 +++++++++++++++++++ .../1044-libfcl-dev | 29 +++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100755 jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1043-libccd-dev create mode 100755 jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1044-libfcl-dev diff --git a/jsk_unitree_robot/cross/repos/ros1_dependencies.repos b/jsk_unitree_robot/cross/repos/ros1_dependencies.repos index af6a1c6db8..fce33ed813 100644 --- a/jsk_unitree_robot/cross/repos/ros1_dependencies.repos +++ b/jsk_unitree_robot/cross/repos/ros1_dependencies.repos @@ -230,3 +230,17 @@ repositories: postfix: type: tar url: http://mirror.postfix.jp/postfix-release/official/postfix-3.4.3.tar.gz + libfcl-dev: + type: tar + url: http://archive.ubuntu.com/ubuntu/pool/universe/f/fcl/fcl_0.5.0.orig.tar.gz + libfcl-dev/debian: + type: tar + url: http://archive.ubuntu.com/ubuntu/pool/universe/f/fcl/fcl_0.5.0-5.debian.tar.xz + # geometric_shapes depends on fcl + libccd-dev: + type: tar + url: http://archive.ubuntu.com/ubuntu/pool/universe/libc/libccd/libccd_2.0.orig.tar.gz + libccd-dev/debian: + type: tar + url: http://archive.ubuntu.com/ubuntu/pool/universe/libc/libccd/libccd_2.0-1.debian.tar.xz + # fcl depends on ccd diff --git a/jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1043-libccd-dev b/jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1043-libccd-dev new file mode 100755 index 0000000000..8c3fd8d225 --- /dev/null +++ b/jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1043-libccd-dev @@ -0,0 +1,32 @@ +#!/bin/bash +set -xeu -o pipefail + +DEBIAN_DIR=/home/user/ros1_dependencies_sources/src/libccd-dev/debian/debian +SOURCE_DIR=/home/user/ros1_dependencies_sources/src/libccd-dev/libccd-2.0 + +# +# libccd-dev does not have patches +# +# cd ${DEBIAN_DIR}/patches +# for patch_file in $(grep -v ^# series); do +# OUT="$(patch -p1 --forward --directory ${SOURCE_DIR} < ${patch_file} | tee /dev/tty)" || echo "${OUT}" | grep "Skipping patch" -q || (echo "$OUT" && false) || echo "OK" +# done + +mkdir -p /home/user/ros1_dependencies_sources/build/libccd-dev +cd /home/user/ros1_dependencies_sources/build/libccd-dev +cmake \ + -DCMAKE_INSTALL_PREFIX=/opt/jsk/${INSTALL_ROOT}/ros1_dependencies \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DENABLE_SSE=OFF -DENABLE_SSE2=OFF -DENABLE_SSSE3=OFF \ + -DOPT_COLLADA15=ON \ + -DOPT_COLLADA14=ON \ + -DOPT_COMPILE_VIEWER=OFF \ + -DOPT_COMPILE_FX=OFF \ + -DOPT_COMPILE_RT=OFF \ + -DOPT_BUILD_PACKAGES=OFF \ + -DOPT_BUILD_PACKAGE_DEFAULT=OFF \ + -DOPT_DOUBLE_PRECISION=ON \ + ${SOURCE_DIR} + +make install diff --git a/jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1044-libfcl-dev b/jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1044-libfcl-dev new file mode 100755 index 0000000000..e663ac9bc1 --- /dev/null +++ b/jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1044-libfcl-dev @@ -0,0 +1,29 @@ +#!/bin/bash +set -xeu -o pipefail + +DEBIAN_DIR=/home/user/ros1_dependencies_sources/src/libfcl-dev/debian/debian +SOURCE_DIR=/home/user/ros1_dependencies_sources/src/libfcl-dev/fcl-0.5.0 + +cd ${DEBIAN_DIR}/patches +for patch_file in $(grep -v ^# series); do + OUT="$(patch -p1 --forward --directory ${SOURCE_DIR} < ${patch_file} | tee /dev/tty)" || echo "${OUT}" | grep "Skipping patch" -q || (echo "$OUT" && false) || echo "OK" +done + +mkdir -p /home/user/ros1_dependencies_sources/build/libfcl-dev +cd /home/user/ros1_dependencies_sources/build/libfcl-dev +cmake \ + -DCMAKE_INSTALL_PREFIX=/opt/jsk/${INSTALL_ROOT}/ros1_dependencies \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DENABLE_SSE=OFF -DENABLE_SSE2=OFF -DENABLE_SSSE3=OFF \ + -DOPT_COLLADA15=ON \ + -DOPT_COLLADA14=ON \ + -DOPT_COMPILE_VIEWER=OFF \ + -DOPT_COMPILE_FX=OFF \ + -DOPT_COMPILE_RT=OFF \ + -DOPT_BUILD_PACKAGES=OFF \ + -DOPT_BUILD_PACKAGE_DEFAULT=OFF \ + -DOPT_DOUBLE_PRECISION=ON \ + ${SOURCE_DIR} + +make install From af35715082126af9c475411e4f3bb292c6595127 Mon Sep 17 00:00:00 2001 From: Naoto Tsukamoto Date: Wed, 26 Apr 2023 12:39:23 +0900 Subject: [PATCH 4/5] [unitree/cross] Avoid setuptools version error caused by spidev==3.6 --- jsk_unitree_robot/cross/build_ros1_dependencies.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/jsk_unitree_robot/cross/build_ros1_dependencies.sh b/jsk_unitree_robot/cross/build_ros1_dependencies.sh index 14c084d737..444be733b8 100755 --- a/jsk_unitree_robot/cross/build_ros1_dependencies.sh +++ b/jsk_unitree_robot/cross/build_ros1_dependencies.sh @@ -45,5 +45,6 @@ docker run -it --rm \ pip install -U --user pip && \ export PYTHONPATH=\"/opt/jsk/System/ros1_dependencies/lib/python2.7/site-packages\" && \ export PKG_CONFIG_PATH=\"/opt/jsk/${INSTALL_ROOT}/ros1_dependencies/lib/pkgconfig\" && \ + pip install spidev==3.5 pixel-ring==0.1.0 && \ ~/.local/bin/pip install --prefix=/opt/jsk/${INSTALL_ROOT}/Python -r /home/user/ros1_dependencies_sources/go1_requirements.txt \ " 2>&1 | tee ${TARGET_MACHINE}_build_ros1_dependencies.log From 929ae6e28c9ad51e28228155123d939f9540999d Mon Sep 17 00:00:00 2001 From: Naoto Tsukamoto Date: Wed, 26 Apr 2023 15:01:55 +0900 Subject: [PATCH 5/5] [unitree/cross] Add LD_LIBRARY_PATH to link libccd-dev --- .../cross/ros1_dependencies_build_scripts/1044-libfcl-dev | 1 + 1 file changed, 1 insertion(+) diff --git a/jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1044-libfcl-dev b/jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1044-libfcl-dev index e663ac9bc1..7b93735a87 100755 --- a/jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1044-libfcl-dev +++ b/jsk_unitree_robot/cross/ros1_dependencies_build_scripts/1044-libfcl-dev @@ -11,6 +11,7 @@ done mkdir -p /home/user/ros1_dependencies_sources/build/libfcl-dev cd /home/user/ros1_dependencies_sources/build/libfcl-dev +LD_LIBRARY_PATH=/opt/jsk/${INSTALL_ROOT}/ros1_dependencies/lib:${LD_LIBRARY_PATH} cmake \ -DCMAKE_INSTALL_PREFIX=/opt/jsk/${INSTALL_ROOT}/ros1_dependencies \ -DCMAKE_BUILD_TYPE=Release \