From c684f5e5f8cfd9c1148d673bfddd98589e7d45b4 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Sun, 16 Oct 2022 12:20:23 +1000 Subject: [PATCH 01/41] Update conda_forge_pinnings.yaml --- .ci_support/conda_forge_pinnings.yaml | 320 +++++++++----------------- 1 file changed, 109 insertions(+), 211 deletions(-) diff --git a/.ci_support/conda_forge_pinnings.yaml b/.ci_support/conda_forge_pinnings.yaml index f06b19096..280badb0a 100644 --- a/.ci_support/conda_forge_pinnings.yaml +++ b/.ci_support/conda_forge_pinnings.yaml @@ -7,10 +7,10 @@ cross_compiler_target_platform: # [win] c_compiler: - gcc # [linux] - clang # [osx] - - vs2017 # [win] + - vs2019 # [win] c_compiler_version: # [unix] - 10 # [linux] - - 13 # [osx] + - 14 # [osx] - 7 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] - 9 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] - 10 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] @@ -18,24 +18,23 @@ c_compiler_version: # [unix] cxx_compiler: - gxx # [linux] - clangxx # [osx] - - vs2017 # [win] + - vs2019 # [win] cxx_compiler_version: # [unix] - 10 # [linux] - - 13 # [osx] + - 14 # [osx] - 7 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] - 9 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] - 10 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] - 10 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] llvm_openmp: # [osx] - - 13 # [osx] + - 14 # [osx] fortran_compiler: # [unix or win64] - gfortran # [linux64 or (osx and x86_64)] - gfortran # [aarch64 or ppc64le or armv7l or s390x] - flang # [win64] fortran_compiler_version: # [unix or win64] - 10 # [linux] - - 11 # [osx and arm64] - - 9 # [osx and x86_64] + - 11 # [osx] - 5 # [win64] - 7 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] - 9 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] @@ -96,6 +95,8 @@ target_goos: - windows # [win] target_goarch: - amd64 # [x86_64] + - arm64 # [arm64 or aarch64] + - ppc64le # [ppc64le] target_goexe: - # [unix] - .exe # [win] @@ -169,9 +170,6 @@ zip_keys: - python - numpy - python_impl - - - - abseil_cpp - - grpc_cpp # aarch64 specifics because conda-build sets many things to centos 6 @@ -186,142 +184,30 @@ BUILD: aarch64-conda_cos7-linux-gnu # [aarch64] cdt_arch: armv7l # [armv7l] BUILD: armv7-conda_cos7-linux-gnueabihf # [armv7l] -# TODO: remove these when run_exports are added to the packages. pin_run_as_build: - arpack: - max_pin: x.x.x + # boost is special, see https://github.com/conda-forge/boost-cpp-feedstock/pull/82 boost: max_pin: x.x.x boost-cpp: max_pin: x.x.x - bzip2: - max_pin: x - cairo: - max_pin: x.x - curl: - max_pin: x - dbus: - max_pin: x - fftw: - max_pin: x + # TODO: add run_exports to the following feedstocks flann: max_pin: x.x.x - fontconfig: - max_pin: x - freetype: - max_pin: x - gdal: - max_pin: x.x - glew: - max_pin: x.x - glpk: - max_pin: x.x - gmp: - max_pin: x graphviz: max_pin: x - harfbuzz: - max_pin: x - hdf4: - max_pin: x.x - isl: - max_pin: x.x - jasper: - max_pin: x - jpeg: - max_pin: x - libjpeg_turbo: - max_pin: x - json-c: - max_pin: x.x - jsoncpp: - max_pin: x.x.x - kealib: - max_pin: x.x - krb5: - max_pin: x.x - libblitz: - max_pin: x.x - libcurl: - max_pin: x - libevent: - max_pin: x.x.x - libffi: - max_pin: x.x - libgdal: - max_pin: x.x - libiconv: - max_pin: x.x - libkml: - max_pin: x.x - libpng: - max_pin: x.x - librsvg: - max_pin: x libsvm: - max_pin: x.x - libtiff: - max_pin: x - libxml2: - max_pin: x.x - libuuid: - max_pin: x - lzo: - max_pin: x - metis: - max_pin: x.x - mpfr: max_pin: x netcdf-cxx4: max_pin: x.x - netcdf-fortran: - max_pin: x.x - nettle: - max_pin: x.x - nlopt: - max_pin: x.x.x - nss: - max_pin: x - nspr: - max_pin: x occt: max_pin: x.x - openturns: - max_pin: x.x - openjpeg: - max_pin: x.x - pango: - max_pin: x.x poppler: max_pin: x.x - qt: - max_pin: x.x - qtkeychain: - max_pin: x.x - readline: - max_pin: x r-base: max_pin: x.x min_pin: x.x - sox: - max_pin: x.x.x - sqlite: - max_pin: x - tk: - max_pin: x.x - tiledb: - max_pin: x.x vlfeat: max_pin: x.x.x - vtk: - max_pin: x.x.x - xz: - max_pin: x.x - zeromq: - max_pin: x.x # [not win] - max_pin: x.x.x # [win] - zlib: - max_pin: x.x # Pinning packages @@ -339,52 +225,50 @@ blas_impl: - mkl # [x86 or x86_64] - blis # [x86 or x86_64] -# hmaarrfk (2022/05/06) -- keep in sync with grpc_cpp -# Due to the fact that cetain large packages (tensorflow) -# require specific versions of abseil to be used, it is -# useful if we build out two versions with the abseil dependency +# keep in sync with libabseil{,_static} abseil_cpp: - - '20210324.2' - - '20211102.0' + - '20220623.0' alsa_lib: - - 1.2.6 + - 1.2.7 antic: - 0.2 +aom: + - 3.5 arb: - '2.22' arpack: - 3.7 arrow_cpp: - - 7.0.0 - - 6.0.1 - - 5.0.0 - - 4.0.1 + - 9.0.0 + - 8.0.1 + - 7.0.1 + - 6.0.2 assimp: - - 5.2.4 + - 5.2.3 attr: - 2.5 aws_c_auth: - - 0.6.13 + - 0.6.17 aws_c_cal: - - 0.5.17 + - 0.5.19 aws_c_common: - - 0.7.2 + - 0.8.1 aws_c_event_stream: - - 0.2.7 + - 0.2.15 aws_c_http: - - 0.6.17 + - 0.6.20 aws_c_io: - - 0.11.2 + - 0.13.4 aws_c_mqtt: - - 0.7.10 + - 0.7.12 aws_c_s3: - - 0.1.41 + - 0.1.49 aws_c_sdkutils: - - 0.1.2 + - 0.1.3 aws_checksums: - - 0.1.12 + - 0.1.13 aws_crt_cpp: - - 0.17.30 + - 0.18.8 aws_sdk_cpp: - 1.9.160 boost: @@ -393,14 +277,16 @@ boost_cpp: - 1.74.0 bzip2: - 1 +c_ares: + - 1 cairo: - - 1.16 + - 1 capnproto: - - 0.10.0 + - 0.10.2 ccr: - 1.3 cfitsio: - - 4.0.0 + - 4.1.0 coin_or_cbc: - 2.10 coincbc: @@ -413,6 +299,8 @@ coin_or_osi: - 0.108 coin_or_utils: - 2.11 +console_bridge: + - 1.0 cutensor: - 1 curl: @@ -421,21 +309,22 @@ davix: - '0.8' dbus: - 1 +eclib: + - 20220621 exiv2: - 0.27 expat: - 2 ffmpeg: - - '4.3' # [win] - - '4.4' # [unix] + - '4.4' fftw: - 3 flann: - 1.9.1 fmt: - - '8' + - '9' fontconfig: - - 2.13 + - 2 freetype: - 2 gct: @@ -459,11 +348,11 @@ gst_plugins_base: gdal: - '3.5' geos: - - 3.10.2 + - 3.11.0 geotiff: - 1.7.1 gfal2: - - '2.20' + - '2.21' gflags: - 2.2 giflib: @@ -475,44 +364,43 @@ glib: glog: - '0.6' glpk: - - 4.65 + - '5.0' gmp: - 6 google_cloud_cpp: - - "1.40" + - '2.2' google_cloud_cpp_common: - 0.25.0 googleapis_cpp: - '0.10' graphviz: - - '3' -# 2022/02/16 -- hmaarrfk -- Keep in sync with abseil_cpp -# However, grpc_cpp 1.46 now requires the newer version, so for the -# abseil version 20210324 we need to ensure to build with the lastest -# version of grpc that still supports it. + - '6' grpc_cpp: - - '1.45' - - '1.46' + - '1.47' harfbuzz: - - '4' + - '5' hdf4: - 4.2.15 hdf5: - 1.12.1 icu: - - '70' + - '69' imath: - '3.1' ipopt: - - 3.14 + - 3.14.9 isl: - - '0.22' + - '0.25' jasper: - '2' jpeg: - 9 +lerc: + - '4' libjpeg_turbo: - 2 +libev: + - 4.33 json_c: - '0.16' jsoncpp: @@ -521,10 +409,14 @@ kealib: - 1.4 krb5: - '1.19' +libabseil: + - '20220623.0' +libabseil_static: + - '20220623.0' libarchive: - 3.5 libavif: - - 0.10.1 + - 0.11.0 libblitz: - 1.0.2 libcint: @@ -536,7 +428,7 @@ libcrc32c: libdap4: - 3.20.6 libdeflate: - - '1.12' + - '1.14' libeantic: - 1 libevent: @@ -544,21 +436,21 @@ libevent: libexactreal: - 2 libffi: - - '3.4' + - '3.3' libflatsurf: - 3 libflint: - - '2.8' + - '2.9' libgdal: - '3.5' libgit2: - - '1.4' + - '1.5' libhugetlbfs: - 2 libhwy: - - '0.17' + - '1.0' libiconv: - - 1.16 + - 1 libidn2: - 2 libintervalxt: @@ -574,25 +466,27 @@ libmicrohttpd: libnetcdf: - 4.8.1 libopencv: - - 4.5.5 + - 4.6.0 libpcap: - '1.10' libpng: - 1.6 libprotobuf: - - '3.19' + - '3.20' librdkafka: - - '1.7' + - '1.9' librsvg: - 2 libsecret: - 0.18 libspatialindex: - 1.9.3 +libssh: + - 0.10 libssh2: - 1 libsvm: - - 3.21 + - '325' libthrift: - 0.16.0 libtiff: @@ -634,9 +528,9 @@ mpich: mpfr: - 4 mumps_mpi: - - 5.2 + - 5.2.1 mumps_seq: - - 5.2 + - 5.2.1 nccl: - 2 ncurses: @@ -662,27 +556,30 @@ ntl: # we build for the oldest version possible of numpy for forward compatibility numpy: # part of a zip_keys: python, python_impl, numpy - # - 1.19 # [not (osx and arm64)] - # - 1.19 - - 1.19 + - 1.20 # [not (osx and arm64)] + - 1.20 + - 1.20 + - 1.21 occt: - - '7.5' + - 7.6 openblas: - 0.3.* openexr: - '3.1' +openh264: + - '2.3.1' openjpeg: - - '2.4' + - '2' openmpi: - 4 openssl: - 1.1.1 openturns: - - '1.18' + - '1.19' orc: - - 1.7.5 + - 1.7.6 pango: - - '1.48' + - '1' pari: - 2.13.* *_pthread perl: @@ -696,7 +593,7 @@ slepc: slepc4py: - '3.16' svt_av1: - - '1.1.0' + - 1.2.1 p11_kit: - '0.24' pcre: @@ -706,7 +603,7 @@ pcre2: pixman: - 0 poco: - - 1.11.1 + - 1.12.2 poppler: - '22.04' proj: @@ -717,24 +614,24 @@ pybind11_abi: - 4 python: # part of a zip_keys: python, python_impl, numpy - # - 3.7.* *_cpython # [not (osx and arm64)] - # - 3.8.* *_cpython + - 3.7.* *_cpython # [not (osx and arm64)] + - 3.8.* *_cpython - 3.9.* *_cpython + - 3.10.* *_cpython python_impl: # part of a zip_keys: python, python_impl, numpy - # - cpython # [not (osx and arm64)] - # - cpython + - cpython # [not (osx and arm64)] + - cpython + - cpython - cpython pytorch: - - '1.11' + - '1.12' qt: - - 5.15 -qt_main: - - 5.15 + - 5.12 qtkeychain: - - '0.12' + - '0.13' re2: - - 2022.04.01 + - 2022.06.01 readline: - "8" rocksdb: @@ -742,17 +639,16 @@ rocksdb: root_base: - 6.26.4 ruby: - # - 2.5 + - 2.5 - 2.6 r_base: - - 4.0 - 4.1 scotch: - 6.0.9 ptscotch: - 6.0.9 s2n: - - 1.3.15 + - 1.3.23 singular: - 4.2.1.p3 snappy: @@ -782,7 +678,7 @@ tinyxml2: tk: - 8.6 # [not ppc64le] tiledb: - - '2.9' + - '2.11' ucx: - 1.12.1 uhd: @@ -790,7 +686,7 @@ uhd: vc: # [win] - 14 # [win] vlfeat: - - 0.9.20 + - 0.9.21 volk: - '2.5' vtk: @@ -798,9 +694,9 @@ vtk: wcslib: - '7.7' wxwidgets: - - '3.1' + - '3.2' x264: - - '1!161.*' + - '1!164.*' x265: - '3.5' xerces_c: @@ -808,12 +704,14 @@ xerces_c: xrootd: - '5' xz: - - 5.2 + - 5 zeromq: - 4.3.4 +zfp: + - 1.0 zlib: - 1.2 zlib_ng: - 2.0 zstd: - - '1.5' \ No newline at end of file + - '1.5' From e84622422b92f6ce31c4b9fb625ea1aaeca228ee Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Sun, 16 Oct 2022 12:22:54 +1000 Subject: [PATCH 02/41] Bump distro mutex --- additional_recipes/ros2-distro-mutex/recipe.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/additional_recipes/ros2-distro-mutex/recipe.yaml b/additional_recipes/ros2-distro-mutex/recipe.yaml index 61c26d949..124816862 100644 --- a/additional_recipes/ros2-distro-mutex/recipe.yaml +++ b/additional_recipes/ros2-distro-mutex/recipe.yaml @@ -1,13 +1,13 @@ package: name: ros2-distro-mutex - version: 0.1.0 + version: 0.2.0 build: number: 0 string: humble run_exports: # NOTE MANUALLY EDIT THIS!!!! - - ros2-distro-mutex 0.1 humble + - ros2-distro-mutex 0.2 humble requirements: # NOTE: From ba9b794b06db5d8154f9d23565064e110624f7b8 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Sun, 16 Oct 2022 12:31:03 +1000 Subject: [PATCH 03/41] Bump python, numpy and some migrations --- conda_build_config.yaml | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/conda_build_config.yaml b/conda_build_config.yaml index a7738e2dd..d3916e777 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -1,35 +1,42 @@ -c_compiler: - - vs2019 # [win] -cxx_compiler: - - vs2019 # [win] +assimp: + - 5.2.4 console_bridge: - 1.0 +hdf5: + - 1.12.2 +icu: + - 70 +ipopt: + - 3.14.10 gazebo: - '11' +libprotobuf: + - '3.21' +libpqxx: + - 6 +pango: + - 1.50 +proj: + - 9.1.0 numpy: - - 1.19 -ogre: - - 1.12.* + - 1.21 pcl: - 1.12.0 -libpqxx: - - 6 +ogre: + - 1.12.* +qt-main: + - 5.15 +urdfdom: + - '3.1' # Workaround for https://github.com/RoboStack/ros-galactic/pull/86#issuecomment-1079811424 setuptools: # [win] - 61.0.0 # [win] python: - # part of a zip_keys: python, python_impl, numpy - # - 3.6.* *_cpython # [not (osx and arm64)] - # - 3.7.* *_cpython # [not (osx and arm64)] - # - 3.8.* *_cpython - - 3.9.* *_cpython + - 3.10.* *_cpython python_impl: - # part of a zip_keys: python, python_impl, numpy - # - cpython # [not (osx and arm64)] - # - cpython # [not (osx and arm64)] - cpython # Project overrides From bc4e46f779c19ddddfc95bba553efc32c68be0b6 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Sun, 16 Oct 2022 12:32:45 +1000 Subject: [PATCH 04/41] Bump build numbers in vinca_*.yaml --- vinca_linux_64.yaml | 4 ++-- vinca_linux_aarch64.yaml | 4 ++-- vinca_osx.yaml | 4 ++-- vinca_osx_arm64.yaml | 4 ++-- vinca_win.yaml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/vinca_linux_64.yaml b/vinca_linux_64.yaml index 5f081eed3..5ef139bfb 100644 --- a/vinca_linux_64.yaml +++ b/vinca_linux_64.yaml @@ -5,9 +5,9 @@ conda_index: - robostack.yaml - packages-ignore.yaml -build_number: 1 +build_number: 2 -mutex_package: ros2-distro-mutex 0.1 humble +mutex_package: ros2-distro-mutex 0.2 humble skip_all_deps: false diff --git a/vinca_linux_aarch64.yaml b/vinca_linux_aarch64.yaml index c67ed9340..0e0f0ba6d 100644 --- a/vinca_linux_aarch64.yaml +++ b/vinca_linux_aarch64.yaml @@ -5,9 +5,9 @@ conda_index: - robostack.yaml - packages-ignore.yaml -build_number: 1 +build_number: 2 -mutex_package: ros2-distro-mutex 0.1 humble +mutex_package: ros2-distro-mutex 0.2 humble skip_all_deps: false diff --git a/vinca_osx.yaml b/vinca_osx.yaml index 6ec6f891c..97ea953a8 100644 --- a/vinca_osx.yaml +++ b/vinca_osx.yaml @@ -5,9 +5,9 @@ conda_index: - robostack.yaml - packages-ignore.yaml -build_number: 1 +build_number: 2 -mutex_package: ros2-distro-mutex 0.1 humble +mutex_package: ros2-distro-mutex 0.2 humble skip_all_deps: false diff --git a/vinca_osx_arm64.yaml b/vinca_osx_arm64.yaml index 91a149996..3895f3139 100644 --- a/vinca_osx_arm64.yaml +++ b/vinca_osx_arm64.yaml @@ -5,9 +5,9 @@ conda_index: - robostack.yaml - packages-ignore.yaml -build_number: 1 +build_number: 2 -mutex_package: ros2-distro-mutex 0.1 humble +mutex_package: ros2-distro-mutex 0.2 humble skip_all_deps: false diff --git a/vinca_win.yaml b/vinca_win.yaml index 6bb640edb..9a63600c2 100644 --- a/vinca_win.yaml +++ b/vinca_win.yaml @@ -5,9 +5,9 @@ conda_index: - robostack.yaml - packages-ignore.yaml -build_number: 1 +build_number: 2 -mutex_package: ros2-distro-mutex 0.1 humble +mutex_package: ros2-distro-mutex 0.2 humble skip_all_deps: false From bfcbebff3fc9bfd6e53f6b45d6b780b5364f528e Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Sun, 16 Oct 2022 12:37:42 +1000 Subject: [PATCH 05/41] Use cos7 --- conda_build_config.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conda_build_config.yaml b/conda_build_config.yaml index d3916e777..66391b135 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -29,6 +29,9 @@ qt-main: - 5.15 urdfdom: - '3.1' + +cdt_name: # [linux] + - cos7 # [linux] # Workaround for https://github.com/RoboStack/ros-galactic/pull/86#issuecomment-1079811424 setuptools: # [win] From a4065140db01f96bbf141810521c7c7625deb7d5 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Sun, 16 Oct 2022 12:40:17 +1000 Subject: [PATCH 06/41] No need anymore for console_bridge pinning, now in conda-forge --- conda_build_config.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/conda_build_config.yaml b/conda_build_config.yaml index 66391b135..d5ea4fb3f 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -1,8 +1,6 @@ assimp: - 5.2.4 -console_bridge: - - 1.0 hdf5: - 1.12.2 icu: From 2cbb6227293348fba008c793dd21fafb20da6323 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Sun, 16 Oct 2022 13:02:36 +1000 Subject: [PATCH 07/41] Remove outdated opencv constraint --- additional_recipes/ros2-distro-mutex/recipe.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/additional_recipes/ros2-distro-mutex/recipe.yaml b/additional_recipes/ros2-distro-mutex/recipe.yaml index 124816862..93180f386 100644 --- a/additional_recipes/ros2-distro-mutex/recipe.yaml +++ b/additional_recipes/ros2-distro-mutex/recipe.yaml @@ -33,7 +33,6 @@ requirements: - boost-cpp 1.74 - log4cxx 0.11 - pcl 1.12 - - libopencv 4.5.5 - poco 1.11 - gazebo 11 - ogre 1.12 From 68f080e40beffd7c73f8645a47d4147aaa419255 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 05:45:04 +1000 Subject: [PATCH 08/41] Sync with noetic --- .github/workflows/build_robostack.yml | 4 ++-- .github/workflows/testpr.yml | 2 +- robostack.yaml | 8 +++++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_robostack.yml b/.github/workflows/build_robostack.yml index acea4da0a..f23797378 100644 --- a/.github/workflows/build_robostack.yml +++ b/.github/workflows/build_robostack.yml @@ -29,7 +29,7 @@ jobs: - os: ubuntu-latest ARCH: x86_64 DOCKER_ARCH: amd64 - DOCKERIMAGE: condaforge/linux-anvil-comp7 + DOCKERIMAGE: condaforge/linux-anvil-cos7-x86_64 MINIFORGE_NAME: "rosdesktop" OS_NAME: "Linux" @@ -87,4 +87,4 @@ jobs: tag: ${{ github.ref }} overwrite: true file_glob: true - if: startsWith(github.ref, 'refs/tags/') \ No newline at end of file + if: startsWith(github.ref, 'refs/tags/') diff --git a/.github/workflows/testpr.yml b/.github/workflows/testpr.yml index e13ed14ba..6e55822eb 100644 --- a/.github/workflows/testpr.yml +++ b/.github/workflows/testpr.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-2019] - platform: [linux-64, osx-64, win-64, linux-aarch64, osx-arm64] + platform: [linux-64, linux-aarch64, osx-64, win-64, osx-arm64] exclude: - os: ubuntu-latest platform: win-64 diff --git a/robostack.yaml b/robostack.yaml index 4b73e28bb..6b4c41a8e 100644 --- a/robostack.yaml +++ b/robostack.yaml @@ -461,7 +461,13 @@ msgpack: muparser: robostack: [muparser] netpbm: - robostack: [netpbm] + robostack: + linux-aarch64: [] + osx-arm64: [] + linux: [netpbm] + osx: [netpbm] + osx-arm64: [] + win64: [] nlohmann-json-dev: robostack: [nlohmann_json] nlopt: From 15b4529d299faa5a43f113337b27b01fa5bfdc9c Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 07:27:41 +1000 Subject: [PATCH 09/41] Fix --- robostack.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/robostack.yaml b/robostack.yaml index 6b4c41a8e..1084fbe76 100644 --- a/robostack.yaml +++ b/robostack.yaml @@ -466,7 +466,6 @@ netpbm: osx-arm64: [] linux: [netpbm] osx: [netpbm] - osx-arm64: [] win64: [] nlohmann-json-dev: robostack: [nlohmann_json] From 7225cd16af2fa2d5fca82a4f2714babe3bf1458b Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 07:43:16 +1000 Subject: [PATCH 10/41] Sync --- .github/testpr_environment.yml | 2 +- .github/workflows/main.yml | 2 +- .github/workflows/testpr.yml | 13 +++++------ CONTRIBUTING.md | 40 +++++++++++----------------------- README.md | 2 +- env/robostackenv.yaml | 20 +++++++++++++++++ 6 files changed, 41 insertions(+), 38 deletions(-) create mode 100644 env/robostackenv.yaml diff --git a/.github/testpr_environment.yml b/.github/testpr_environment.yml index 45da54676..f0612c8d7 100644 --- a/.github/testpr_environment.yml +++ b/.github/testpr_environment.yml @@ -3,7 +3,7 @@ channels: - robostack-humble - conda-forge dependencies: - - python 3.9.* + - python 3.10.* - pip - boa - rospkg diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c04830f8d..8d1dd0e7e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,7 @@ jobs: fetch-depth: 0 # otherwise, you will failed to push refs to dest repo - uses: actions/setup-python@v2 with: - python-version: '3.9' # Version range or exact version of a Python version to use, using SemVer's version range syntax + python-version: '3.10' # Version range or exact version of a Python version to use, using SemVer's version range syntax - name: Install vinca run: | pip install git+https://github.com/RoboStack/vinca.git diff --git a/.github/workflows/testpr.yml b/.github/workflows/testpr.yml index 6e55822eb..2a1ad3bef 100644 --- a/.github/workflows/testpr.yml +++ b/.github/workflows/testpr.yml @@ -33,16 +33,13 @@ jobs: - os: windows-2019 platform: osx-arm64 steps: - - uses: actions/checkout@main - - uses: conda-incubator/setup-miniconda@v2 + - uses: actions/checkout@master + - name: install mamba + uses: mamba-org/provision-with-micromamba@main with: - mamba-version: "*" - channels: robostack-humble,conda-forge - channel-priority: false - auto-activate-base: true - activate-environment: "" + environment-file: .github/testpr_environment.yml - - shell: bash + - shell: bash -l {0} if: contains(matrix.os, 'linux-aarch64') run: | echo "::group::Configure binfmt_misc" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d5d8f26b8..e416a0a0f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,38 +17,24 @@ We follow the [NumFOCUS code of conduct](https://numfocus.org/code-of-conduct). # Adding new packages via pull requests You can open a pull request that will get build automatically in our CI. -An example can be found [here](https://github.com/RoboStack/ros-galactic/pull/44). Simply add the required packages to the `vinca_*.yaml` files, where the * indicates the desired platform (linux_64, osx, win or linux_aarch64). Ideally, try to add packages to all of these platforms. +An example can be found [here](https://github.com/RoboStack/ros-noetic/pull/44). Simply add the required packages to the `vinca_*.yaml` files, where the * indicates the desired platform (linux_64, osx, win or linux_aarch64). Ideally, try to add packages to all of these platforms. -Sometimes, it may be required to patch the packages. An example of how to do so can be found in [this PR](https://github.com/RoboStack/ros-galactic/pull/32). +Sometimes, it may be required to patch the packages. An example of how to do so can be found in [this PR](https://github.com/RoboStack/ros-noetic/pull/32). # Testing changes locally -1. Install conda build tools in base environemnt: -``` -conda install -n base conda-build mamba -``` - -2. Create a new conda environment and add the conda-forge and robostack channels: -``` -conda create -n ros_humble python=3.9 -conda activate ros_humble -conda config --append channels defaults -conda config --add channels conda-forge -conda config --add channels robostack-humble -``` -3. Install some dependencies: -``` -mamba install anaconda-client catkin_pkg ruamel_yaml rosdistro empy networkx requests ruamel ruamel.yaml boa -``` -4. Install vinca: `pip install git+https://github.com/RoboStack/vinca.git@master --no-deps` -5. Clone this repo: `git clone https://github.com/RoboStack/ros-humble.git` -6. `cd ros-humble` -7. `cp vinca_linux_64.yaml vinca.yaml` (replace with your platform as necessary) -8. Modify `vinca.yaml` as you please, e.g. add new packages to be built. -9. Run vinca to generate the recipe by executing `vinca --multiple` -10. Copy the generated recipe to the current folder: `cp recipes/ros-humble-XXX.yaml recipe.yaml` - note that at least one package needs to be (re)build for this folder to show up. See more info below. -11. Build the recipe using boa: `boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml` +1. Clone this repo: `git clone https://github.com/RoboStack/ros-humble.git` +2. `cd ros-humble` +3. `conda env create -f env/robostackenv.yaml ` +4. Make a symbolic link between your platform's yaml and `vinca.yaml`. Examples +* `ln -s vinca_linux_64.yaml vinca.yaml` +* `ln -s vinca_osx.yaml vinca.yaml` +* `mklink vinca.yaml vinca_win.yaml` +5. Modify your platform's yaml as you please, e.g. add new packages to be built. +6. Run vinca to generate the recipe by executing `vinca --multiple` +7. Move to the `recipes` folder to find the recipes that need to be (re)build: `cd recipes`. Note that at least one package needs to be (re)build for folder to show up. +8. Build the recipes from within the `recipes` folder using boa: `boa build . -m ../.ci_support/conda_forge_pinnings.yaml -m ../conda_build_config.yaml` # How does it work? - The `vinca.yaml` file specifies which packages should be built. diff --git a/README.md b/README.md index 9b66eca37..346badd9d 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ To get started with conda (or mamba) as package managers, you need to have a bas conda install mamba -c conda-forge # now create a new environment -mamba create -n ros_humble ros-humble-desktop python=3.9 -c robostack-humble -c conda-forge --no-channel-priority --override-channels +mamba create -n ros_humble ros-humble-desktop python=3.10 -c robostack-humble -c conda-forge --no-channel-priority --override-channels conda activate ros_humble # optionally, install some compiler packages if you want to e.g. build packages in a colcon_ws: diff --git a/env/robostackenv.yaml b/env/robostackenv.yaml new file mode 100644 index 000000000..658edf288 --- /dev/null +++ b/env/robostackenv.yaml @@ -0,0 +1,20 @@ +name: robostackenv +channels: +- robostack-humble +- conda-forge +dependencies: +- python=3.10 +- conda-build +- anaconda-client +- mamba +- conda +- catkin_pkg +- ruamel.yaml +- rosdistro +- empy +- networkx +- requests +- boa=0.9 +- pip +- pip: + - git+https://github.com/RoboStack/vinca.git@master From bfe36d9e82143abccf80b715eb294aef73c72319 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 07:51:04 +1000 Subject: [PATCH 11/41] Fix --- .github/testpr_environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/testpr_environment.yml b/.github/testpr_environment.yml index f0612c8d7..063bff1c5 100644 --- a/.github/testpr_environment.yml +++ b/.github/testpr_environment.yml @@ -1,4 +1,4 @@ -name: base +name: testpr_env channels: - robostack-humble - conda-forge From 7ce50609df1ba6ffb6e3594d2fc6e15e9caa0029 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 08:12:23 +1000 Subject: [PATCH 12/41] Update run_constraints --- additional_recipes/ros2-distro-mutex/recipe.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/additional_recipes/ros2-distro-mutex/recipe.yaml b/additional_recipes/ros2-distro-mutex/recipe.yaml index 93180f386..b023be7e6 100644 --- a/additional_recipes/ros2-distro-mutex/recipe.yaml +++ b/additional_recipes/ros2-distro-mutex/recipe.yaml @@ -31,9 +31,7 @@ requirements: # please change it in the conda_build_config.yaml! run_constrained: - boost-cpp 1.74 - - log4cxx 0.11 - pcl 1.12 - - poco 1.11 - gazebo 11 - ogre 1.12 - libpqxx 6 From 58d89e4320592badc023f023e52b66629792d267 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 08:59:07 +1000 Subject: [PATCH 13/41] Update conda_build_config.yaml --- conda_build_config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conda_build_config.yaml b/conda_build_config.yaml index d5ea4fb3f..a38f11d03 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -32,8 +32,8 @@ cdt_name: # [linux] - cos7 # [linux] # Workaround for https://github.com/RoboStack/ros-galactic/pull/86#issuecomment-1079811424 -setuptools: # [win] - - 61.0.0 # [win] +setuptools: + - 61.0.0 python: - 3.10.* *_cpython From 3fe49914b494763dafb384634e15b1c2c6709ada Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 09:14:48 +1000 Subject: [PATCH 14/41] Pin setuptools for debug --- robostack.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/robostack.yaml b/robostack.yaml index 1084fbe76..73a1a62e3 100644 --- a/robostack.yaml +++ b/robostack.yaml @@ -589,7 +589,7 @@ python-rospkg: python-rospkg-modules: robostack: [rospkg] python-setuptools: - robostack: [setuptools] + robostack: [setuptools 61.0.0] python-sip: robostack: [sip] python-six: @@ -773,7 +773,7 @@ python3-scipy: python3-serial: robostack: [pyserial] python3-setuptools: - robostack: [setuptools] + robostack: [setuptools 61.0.0] python3-simplejson: robostack: [simplejson] python3-six: @@ -801,7 +801,7 @@ python3-typeguard: python3-usb: robostack: [pyusb] python3-venv: - robostack: [virtualenv, pip, pip-tools, setuptools] + robostack: [virtualenv, pip, pip-tools, setuptools 61.0.0] python3-websocket: robostack: [websocket-client] python3-yaml: From d35393c776e49e5b8a4ba903cb7413e97c375870 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 09:25:10 +1000 Subject: [PATCH 15/41] Unpin non-working pin --- robostack.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/robostack.yaml b/robostack.yaml index 73a1a62e3..1084fbe76 100644 --- a/robostack.yaml +++ b/robostack.yaml @@ -589,7 +589,7 @@ python-rospkg: python-rospkg-modules: robostack: [rospkg] python-setuptools: - robostack: [setuptools 61.0.0] + robostack: [setuptools] python-sip: robostack: [sip] python-six: @@ -773,7 +773,7 @@ python3-scipy: python3-serial: robostack: [pyserial] python3-setuptools: - robostack: [setuptools 61.0.0] + robostack: [setuptools] python3-simplejson: robostack: [simplejson] python3-six: @@ -801,7 +801,7 @@ python3-typeguard: python3-usb: robostack: [pyusb] python3-venv: - robostack: [virtualenv, pip, pip-tools, setuptools 61.0.0] + robostack: [virtualenv, pip, pip-tools, setuptools] python3-websocket: robostack: [websocket-client] python3-yaml: From 8b1d367810e07adf5c8e71f7474683ba362ffb1f Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 09:25:33 +1000 Subject: [PATCH 16/41] Try pin setuptools again --- additional_recipes/ros2-distro-mutex/recipe.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/additional_recipes/ros2-distro-mutex/recipe.yaml b/additional_recipes/ros2-distro-mutex/recipe.yaml index b023be7e6..48cae3bad 100644 --- a/additional_recipes/ros2-distro-mutex/recipe.yaml +++ b/additional_recipes/ros2-distro-mutex/recipe.yaml @@ -35,6 +35,7 @@ requirements: - gazebo 11 - ogre 1.12 - libpqxx 6 + - setuptools 61.0.0 about: home: https://github.com/robostack/ros-humble From b583d675e6b7113fd4712749f0175984f8610fac Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 09:25:58 +1000 Subject: [PATCH 17/41] Undo non-working setuptools pin --- conda_build_config.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/conda_build_config.yaml b/conda_build_config.yaml index a38f11d03..0997d1af0 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -31,10 +31,6 @@ urdfdom: cdt_name: # [linux] - cos7 # [linux] -# Workaround for https://github.com/RoboStack/ros-galactic/pull/86#issuecomment-1079811424 -setuptools: - - 61.0.0 - python: - 3.10.* *_cpython python_impl: From a1b16eeebf4993dd3eb3d88ba3a3ff8c1a42051a Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 09:44:04 +1000 Subject: [PATCH 18/41] More setuptools tests --- patch/dependencies.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/patch/dependencies.yaml b/patch/dependencies.yaml index 4f5220672..b6e38a5be 100644 --- a/patch/dependencies.yaml +++ b/patch/dependencies.yaml @@ -171,3 +171,11 @@ moveit: add_host: ["REQUIRE_OPENGL"] force_torque_sensor_broadcaster: add_host: ["typeguard", "jinja2"] +ros_workspace: + add_build: ["setuptools 61.0.0"] +ros_environment: + add_build: ["setuptools 61.0.0"] +ament_package: + add_build: ["setuptools 61.0.0"] +ament_cmake_core: + add_build: ["setuptools 61.0.0"] From 81e432164c8aa772a9579facbf88ae96db9dea4d Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 10:08:55 +1000 Subject: [PATCH 19/41] Use Python_EXECUTABLE --- patch/ros-humble-ros-workspace.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patch/ros-humble-ros-workspace.patch b/patch/ros-humble-ros-workspace.patch index 1acb6b6af..fa4ffe605 100644 --- a/patch/ros-humble-ros-workspace.patch +++ b/patch/ros-humble-ros-workspace.patch @@ -7,7 +7,7 @@ index 99c9e2d..29171a4 100644 # Collect current python 3 version -execute_process(COMMAND python3 -c "from distutils import sysconfig; print(sysconfig.get_python_version())" OUTPUT_VARIABLE PYTHON_MAJOR_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE) -+execute_process(COMMAND python -c "from distutils import sysconfig; print(sysconfig.get_python_version())" OUTPUT_VARIABLE PYTHON_MAJOR_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE) ++execute_process(COMMAND ${Python_EXECUTABLE} -c "from distutils import sysconfig; print(sysconfig.get_python_version())" OUTPUT_VARIABLE PYTHON_MAJOR_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE) # Locate ament_package template files. if(WIN32) @@ -15,7 +15,7 @@ index 99c9e2d..29171a4 100644 set(SHELL_EXT "sh") endif() set(AMENT_PACKAGE_DIR "${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_DIR}/ament_package") -+if(NOT EXISTS "${AMENT_PACKAGE_DIR}" OR "$ENV{CONDA_BUILD_CROSS_COMPILATION}" EQUAL "1") ++if(NOT EXISTS "${AMENT_PACKAGE_DIR}") # OR "$ENV{CONDA_BUILD_CROSS_COMPILATION}" EQUAL "1" + execute_process( + COMMAND python -c "import site; print(site.getsitepackages()[-1])" + OUTPUT_VARIABLE _PYTHON_SYSPREFIX From 5b7cec6f9ffdd415cf99aadde87d56b913863485 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 10:38:38 +1000 Subject: [PATCH 20/41] Another attempt --- patch/ros-humble-ros-workspace.patch | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/patch/ros-humble-ros-workspace.patch b/patch/ros-humble-ros-workspace.patch index fa4ffe605..4c208c00c 100644 --- a/patch/ros-humble-ros-workspace.patch +++ b/patch/ros-humble-ros-workspace.patch @@ -1,30 +1,26 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 99c9e2d..29171a4 100644 +index 99c9e2d..942be69 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -4,7 +4,7 @@ project(ros_workspace NONE) +@@ -3,18 +3,17 @@ project(ros_workspace NONE) + find_package(ament_cmake_core REQUIRED) - # Collect current python 3 version +-# Collect current python 3 version -execute_process(COMMAND python3 -c "from distutils import sysconfig; print(sysconfig.get_python_version())" OUTPUT_VARIABLE PYTHON_MAJOR_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE) -+execute_process(COMMAND ${Python_EXECUTABLE} -c "from distutils import sysconfig; print(sysconfig.get_python_version())" OUTPUT_VARIABLE PYTHON_MAJOR_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE) ++find_package (Python COMPONENTS Interpreter Development) # Locate ament_package template files. if(WIN32) -@@ -15,6 +15,16 @@ else() + set(PYTHON_INSTALL_DIR "lib/site-packages") + set(SHELL_EXT "bat") + else() +- set(PYTHON_INSTALL_DIR "lib/python${PYTHON_MAJOR_MINOR}/site-packages") ++ set(PYTHON_INSTALL_DIR "lib/python${Python_VERSION_MAJOR}${Python_VERSION_MINOR}/site-packages") set(SHELL_EXT "sh") endif() - set(AMENT_PACKAGE_DIR "${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_DIR}/ament_package") -+if(NOT EXISTS "${AMENT_PACKAGE_DIR}") # OR "$ENV{CONDA_BUILD_CROSS_COMPILATION}" EQUAL "1" -+ execute_process( -+ COMMAND python -c "import site; print(site.getsitepackages()[-1])" -+ OUTPUT_VARIABLE _PYTHON_SYSPREFIX -+ OUTPUT_STRIP_TRAILING_WHITESPACE -+ ) -+ message(WARNING "Could not find '${AMENT_PACKAGE_DIR}', now try '${_PYTHON_SYSPREFIX}/ament_package' instead.") -+ set(AMENT_PACKAGE_DIR "${_PYTHON_SYSPREFIX}/ament_package") -+endif() -+ +-set(AMENT_PACKAGE_DIR "${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_DIR}/ament_package") ++set(AMENT_PACKAGE_DIR "${Python_SITELIB}/ament_package") if(NOT EXISTS "${AMENT_PACKAGE_DIR}") # Check for an .egg-link file and use the listed directory if it exists get_filename_component(AMENT_PACKAGE_EGG_LINK "${AMENT_PACKAGE_DIR}" DIRECTORY) From 97a66d6ddb28e1108dbc631a2bae0ff536e9c73c Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 10:43:29 +1000 Subject: [PATCH 21/41] pcl 1.12.1 --- conda_build_config.yaml | 2 +- robostack.yaml | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/conda_build_config.yaml b/conda_build_config.yaml index 0997d1af0..9ea280955 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -20,7 +20,7 @@ proj: numpy: - 1.21 pcl: - - 1.12.0 + - 1.12.1 ogre: - 1.12.* qt-main: diff --git a/robostack.yaml b/robostack.yaml index 1084fbe76..42df44850 100644 --- a/robostack.yaml +++ b/robostack.yaml @@ -43,6 +43,8 @@ cartographer: robostack: [cartographer] ca-certificates: robostack: [ca-certificates] +clang-format: + robostack: [clang-format] clang-tidy: robostack: [clang-tools] cmake: @@ -197,6 +199,10 @@ libboost-python: robostack: [boost] libboost-python-dev: robostack: [boost] +libboost-random: + robostack: [boost-cpp] +libboost-random-dev: + robostack: [boost-cpp] libboost-regex-dev: robostack: [boost-cpp] libboost-serialization: @@ -744,6 +750,8 @@ python3-pytest-cov: robostack: [pytest-cov] python3-pytest-mock: robostack: [pytest-mock] +python3-pytest-timeout: + robostack: [pytest-timeout] python3-qt5-bindings: robostack: [pyqt] python3-qt5-bindings-gl: From 67fe37e299a45d5b837c01b28290c0c07cd996e5 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Mon, 17 Oct 2022 14:06:21 +1000 Subject: [PATCH 22/41] Add missing dep --- patch/dependencies.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/patch/dependencies.yaml b/patch/dependencies.yaml index b6e38a5be..e46f29615 100644 --- a/patch/dependencies.yaml +++ b/patch/dependencies.yaml @@ -1,3 +1,5 @@ +ros_ign_interfaces: + add_host: ["ros-humble-rcl-interfaces"] cartographer_ros: add_host: ["cartographer 2.*"] ackermann_msgs: From 5e5e87567c5415ee31a104cd6b80757fe64fcc93 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Tue, 18 Oct 2022 07:21:07 +1000 Subject: [PATCH 23/41] ros_gz_sim needs opengl --- patch/dependencies.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/patch/dependencies.yaml b/patch/dependencies.yaml index e46f29615..6e9385dc5 100644 --- a/patch/dependencies.yaml +++ b/patch/dependencies.yaml @@ -181,3 +181,5 @@ ament_package: add_build: ["setuptools 61.0.0"] ament_cmake_core: add_build: ["setuptools 61.0.0"] +ros_gz_sim: + add_host: ["REQUIRE_OPENGL"] From 0a10846de165647916f434644aa1c4938b48c75c Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Tue, 18 Oct 2022 08:01:52 +1000 Subject: [PATCH 24/41] Minor --- conda_build_config.yaml | 2 ++ patch/dependencies.yaml | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/conda_build_config.yaml b/conda_build_config.yaml index 9ea280955..c5ad5fb00 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -23,6 +23,8 @@ pcl: - 1.12.1 ogre: - 1.12.* +qt: + - 5.15 qt-main: - 5.15 urdfdom: diff --git a/patch/dependencies.yaml b/patch/dependencies.yaml index 6e9385dc5..76c669b5a 100644 --- a/patch/dependencies.yaml +++ b/patch/dependencies.yaml @@ -109,7 +109,9 @@ backward_ros: add_host: [{sel(linux or (osx and x86_64)): binutils}, {sel(linux): elfutils}] nav2_smac_planner: add_build: [{"sel(osx)": "llvm-openmp"}] - add_host: [{"sel(osx)": "llvm-openmp"}] + add_host: [{"sel(osx)": "llvm-openmp"}, "ompl"] +ompl: + add_host: ["ompl"] pybind11_vendor: add_host: ["pybind11"] add_run: ["pybind11"] From 9bd2af696246a96f2ca18ae9fd21e22b30be65a8 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Tue, 18 Oct 2022 08:08:57 +1000 Subject: [PATCH 25/41] Test replacing prefix with build_prefix --- patch/ros-humble-ros-workspace.patch | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/patch/ros-humble-ros-workspace.patch b/patch/ros-humble-ros-workspace.patch index 4c208c00c..9a5a630cf 100644 --- a/patch/ros-humble-ros-workspace.patch +++ b/patch/ros-humble-ros-workspace.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 99c9e2d..942be69 100644 +index 99c9e2d..ff702be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -3,18 +3,17 @@ project(ros_workspace NONE) +@@ -3,18 +3,25 @@ project(ros_workspace NONE) find_package(ament_cmake_core REQUIRED) @@ -21,10 +21,18 @@ index 99c9e2d..942be69 100644 endif() -set(AMENT_PACKAGE_DIR "${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_DIR}/ament_package") +set(AMENT_PACKAGE_DIR "${Python_SITELIB}/ament_package") ++ ++if(NOT EXISTS "${AMENT_PACKAGE_DIR}" AND "$ENV{CONDA_BUILD_CROSS_COMPILATION}" EQUAL "1") ++ message(WARNING "Could not find '${AMENT_PACKAGE_DIR}'. Replace '$ENV{PREFIX}' with '$ENV{BUILD_PREFIX}'.") ++ string(REPLACE "$ENV{PREFIX}" "$ENV{BUILD_PREFIX}" AMENT_PACKAGE_DIR_REP ${AMENT_PACKAGE_DIR}) ++ set(AMENT_PACKAGE_DIR "${AMENT_PACKAGE_DIR_REP}") ++ message(WARNING "Now try '${AMENT_PACKAGE_DIR}'.") ++endif() ++ if(NOT EXISTS "${AMENT_PACKAGE_DIR}") # Check for an .egg-link file and use the listed directory if it exists get_filename_component(AMENT_PACKAGE_EGG_LINK "${AMENT_PACKAGE_DIR}" DIRECTORY) -@@ -39,28 +44,7 @@ set( +@@ -39,28 +46,7 @@ set( "prepend-non-duplicate;PYTHONPATH;${PYTHON_INSTALL_DIR}") # Set environment hooks for default environment. From e9b2f0f10b4c564584ba8cb5a414ab820a1d005e Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 20 Oct 2022 16:13:35 +1000 Subject: [PATCH 26/41] Add libode to deps --- patch/dependencies.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patch/dependencies.yaml b/patch/dependencies.yaml index 76c669b5a..2c0ca4fbc 100644 --- a/patch/dependencies.yaml +++ b/patch/dependencies.yaml @@ -109,7 +109,7 @@ backward_ros: add_host: [{sel(linux or (osx and x86_64)): binutils}, {sel(linux): elfutils}] nav2_smac_planner: add_build: [{"sel(osx)": "llvm-openmp"}] - add_host: [{"sel(osx)": "llvm-openmp"}, "ompl"] + add_host: [{"sel(osx)": "llvm-openmp"}, "ompl", "libode"] ompl: add_host: ["ompl"] pybind11_vendor: From d6023556b86cd9d1462ef3b0a06bebc759e821c7 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 20 Oct 2022 16:14:13 +1000 Subject: [PATCH 27/41] Add gitignore --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..c41a12879 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +vinca.yaml +recipes/ +*.bat +*.sh +*.json +.DS_Store From 93a459300cc9cb3b2af413c9a3bd619f6b8b0788 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Tue, 8 Nov 2022 08:23:19 +1000 Subject: [PATCH 28/41] Create recipe.yaml --- .../ros-humble-octomap/recipe.yaml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 additional_recipes/ros-humble-octomap/recipe.yaml diff --git a/additional_recipes/ros-humble-octomap/recipe.yaml b/additional_recipes/ros-humble-octomap/recipe.yaml new file mode 100644 index 000000000..43a86907e --- /dev/null +++ b/additional_recipes/ros-humble-octomap/recipe.yaml @@ -0,0 +1,20 @@ +package: + name: ros-humble-octomap + version: "1.9.8" + +build: + number: 2 + +requirements: + run: + - octomap 1.9.* + + +about: + home: https://github.com/conda-forge/octomap-feedstock + license: BSD-3-Clause + summary: | + An Efficient Probabilistic 3D Mapping Framework Based on Octrees +extra: + recipe-maintainers: + - ros-forge From f3b82fb299eaac0e8171402f7b028f71fbef9157 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Tue, 8 Nov 2022 08:28:18 +1000 Subject: [PATCH 29/41] Avoid octomap clobbering --- vinca_linux_64.yaml | 2 ++ vinca_linux_aarch64.yaml | 3 +++ vinca_osx.yaml | 6 +++++- vinca_osx_arm64.yaml | 6 +++++- vinca_win.yaml | 4 ++++ 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/vinca_linux_64.yaml b/vinca_linux_64.yaml index 5ef139bfb..4dc3d42b7 100644 --- a/vinca_linux_64.yaml +++ b/vinca_linux_64.yaml @@ -20,9 +20,11 @@ packages_skip_by_deps: # - rviz # - diagnostic_updater - cartographer + - octomap packages_remove_from_deps: - cartographer + - octomap - warehouse_ros_mongo # - stage-ros # - python_qt_binding diff --git a/vinca_linux_aarch64.yaml b/vinca_linux_aarch64.yaml index 0e0f0ba6d..0c7db551b 100644 --- a/vinca_linux_aarch64.yaml +++ b/vinca_linux_aarch64.yaml @@ -19,10 +19,13 @@ packages_skip_by_deps: # - nav2-rotation-shim-controller # - rviz # - diagnostic_updater + - cartographer + - octomap packages_remove_from_deps: - cartographer - warehouse_ros_mongo + - octomap # - stage-ros # - python_qt_binding # - joint_state_publisher_gui diff --git a/vinca_osx.yaml b/vinca_osx.yaml index 97ea953a8..488f63d4e 100644 --- a/vinca_osx.yaml +++ b/vinca_osx.yaml @@ -18,10 +18,14 @@ full_rebuild: true # build_in_own_azure_stage: # - ros-galactic-rviz-rendering -# packages_skip_by_deps: +packages_skip_by_deps: # - rttest + - cartographer + - octomap packages_remove_from_deps: + - cartographer + - octomap - tlsf - tlsf_cpp - pendulum_control diff --git a/vinca_osx_arm64.yaml b/vinca_osx_arm64.yaml index 3895f3139..68c75acbe 100644 --- a/vinca_osx_arm64.yaml +++ b/vinca_osx_arm64.yaml @@ -18,10 +18,14 @@ full_rebuild: true # build_in_own_azure_stage: # - ros-galactic-rviz-rendering -# packages_skip_by_deps: +packages_skip_by_deps: # - rttest + - cartographer + - octomap packages_remove_from_deps: + - cartographer + - octomap - tlsf - tlsf_cpp - pendulum_control diff --git a/vinca_win.yaml b/vinca_win.yaml index 9a63600c2..b68095170 100644 --- a/vinca_win.yaml +++ b/vinca_win.yaml @@ -16,6 +16,8 @@ skip_all_deps: false full_rebuild: true packages_skip_by_deps: + - cartographer + - octomap - iceoryx_utils - iceoryx_binding_c - iceoryx_posh @@ -23,6 +25,8 @@ packages_skip_by_deps: - rttest packages_remove_from_deps: + - cartographer + - octomap - rmw_cyclonedds_cpp - tlsf - tlsf_cpp From e150d618e45faec09f9482ab56c61ee3350a6012 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Tue, 8 Nov 2022 10:43:48 +1000 Subject: [PATCH 30/41] Update ros-humble-webots-ros2-driver.patch --- patch/ros-humble-webots-ros2-driver.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/patch/ros-humble-webots-ros2-driver.patch b/patch/ros-humble-webots-ros2-driver.patch index edbe4f4b9..9d504599a 100644 --- a/patch/ros-humble-webots-ros2-driver.patch +++ b/patch/ros-humble-webots-ros2-driver.patch @@ -2,10 +2,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 1bc42479..048c7276 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -33,11 +33,7 @@ find_package(vision_msgs REQUIRED) - find_package(webots_ros2_msgs REQUIRED) +@@ -38,11 +38,7 @@ find_package(webots_ros2_msgs REQUIRED) find_package(tinyxml2_vendor REQUIRED) find_package(TinyXML2 REQUIRED) + -if($ENV{ROS_DISTRO} MATCHES "foxy" OR $ENV{ROS_DISTRO} MATCHES "galactic") - find_package(PythonLibs 3.8 EXACT REQUIRED) -else() @@ -13,5 +13,5 @@ index 1bc42479..048c7276 100644 -endif() +find_package(PythonLibs REQUIRED) - if (UNIX AND NOT APPLE) + if(UNIX AND NOT APPLE) set(WEBOTS_LIB_BASE webots/lib/linux-gnu) From 784e87ced8c28ebab9f407757a250a9cf7de98a4 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 8 Dec 2022 07:58:01 +1000 Subject: [PATCH 31/41] Update conda_forge_pinnings.yaml --- .ci_support/conda_forge_pinnings.yaml | 121 +++++++++++++++----------- 1 file changed, 72 insertions(+), 49 deletions(-) diff --git a/.ci_support/conda_forge_pinnings.yaml b/.ci_support/conda_forge_pinnings.yaml index 280badb0a..4a0ab28b4 100644 --- a/.ci_support/conda_forge_pinnings.yaml +++ b/.ci_support/conda_forge_pinnings.yaml @@ -9,7 +9,7 @@ c_compiler: - clang # [osx] - vs2019 # [win] c_compiler_version: # [unix] - - 10 # [linux] + - 11 # [linux] - 14 # [osx] - 7 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] - 9 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] @@ -20,7 +20,7 @@ cxx_compiler: - clangxx # [osx] - vs2019 # [win] cxx_compiler_version: # [unix] - - 10 # [linux] + - 11 # [linux] - 14 # [osx] - 7 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] - 9 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] @@ -33,7 +33,7 @@ fortran_compiler: # [unix or win64] - gfortran # [aarch64 or ppc64le or armv7l or s390x] - flang # [win64] fortran_compiler_version: # [unix or win64] - - 10 # [linux] + - 11 # [linux] - 11 # [osx] - 5 # [win64] - 7 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and linux64] @@ -229,13 +229,13 @@ blas_impl: abseil_cpp: - '20220623.0' alsa_lib: - - 1.2.7 + - 1.2.8 antic: - 0.2 aom: - 3.5 arb: - - '2.22' + - '2.23' arpack: - 3.7 arrow_cpp: @@ -244,37 +244,37 @@ arrow_cpp: - 7.0.1 - 6.0.2 assimp: - - 5.2.3 + - 5.2.4 attr: - 2.5 aws_c_auth: - - 0.6.17 + - 0.6.21 aws_c_cal: - - 0.5.19 + - 0.5.20 aws_c_common: - - 0.8.1 + - 0.8.5 aws_c_event_stream: - 0.2.15 aws_c_http: - - 0.6.20 + - 0.6.27 aws_c_io: - - 0.13.4 + - 0.13.11 aws_c_mqtt: - - 0.7.12 + - 0.7.13 aws_c_s3: - - 0.1.49 + - 0.1.51 aws_c_sdkutils: - - 0.1.3 + - 0.1.7 aws_checksums: - 0.1.13 aws_crt_cpp: - - 0.18.8 + - 0.18.16 aws_sdk_cpp: - - 1.9.160 + - 1.9.375 boost: - - 1.74.0 + - 1.78.0 boost_cpp: - - 1.74.0 + - 1.78.0 bzip2: - 1 c_ares: @@ -310,7 +310,7 @@ davix: dbus: - 1 eclib: - - 20220621 + - '20221012' exiv2: - 0.27 expat: @@ -334,13 +334,13 @@ gf2x: gdk_pixbuf: - 2 gnuradio_core: - - 3.10.3 + - 3.10.4 gnutls: - 3.7 gsl: - 2.7 gsoap: - - 2.8.119 + - 2.8.123 gstreamer: - '1.20' gst_plugins_base: @@ -348,7 +348,7 @@ gst_plugins_base: gdal: - '3.5' geos: - - 3.11.0 + - 3.11.1 geotiff: - 1.7.1 gfal2: @@ -368,15 +368,16 @@ glpk: gmp: - 6 google_cloud_cpp: - - '2.2' + - '2.3.0' google_cloud_cpp_common: - 0.25.0 googleapis_cpp: - '0.10' graphviz: - '6' +# keep in sync with libgrpc grpc_cpp: - - '1.47' + - '1.49' harfbuzz: - '5' hdf4: @@ -384,17 +385,19 @@ hdf4: hdf5: - 1.12.1 icu: - - '69' + - '70' imath: - '3.1' ipopt: - - 3.14.9 + - 3.14.10 isl: - '0.25' jasper: - '2' jpeg: - 9 +lcms: + - 2 lerc: - '4' libjpeg_turbo: @@ -406,7 +409,7 @@ json_c: jsoncpp: - 1.9.5 kealib: - - 1.4 + - '1.5' krb5: - '1.19' libabseil: @@ -416,7 +419,7 @@ libabseil_static: libarchive: - 3.5 libavif: - - 0.11.0 + - 0.11.1 libblitz: - 1.0.2 libcint: @@ -445,6 +448,8 @@ libgdal: - '3.5' libgit2: - '1.5' +libgrpc: + - '1.49' libhugetlbfs: - 2 libhwy: @@ -472,13 +477,15 @@ libpcap: libpng: - 1.6 libprotobuf: - - '3.20' + - '3.21' librdkafka: - '1.9' librsvg: - 2 libsecret: - 0.18 +libsndfile: + - 1.1 libspatialindex: - 1.9.3 libssh: @@ -487,6 +494,9 @@ libssh2: - 1 libsvm: - '325' +# keep libsqlite in sync with sqlite +libsqlite: + - 3 libthrift: - 0.16.0 libtiff: @@ -502,7 +512,7 @@ libwebp: libwebp_base: - 1 libxml2: - - 2.9 + - 2.10 libxsmm: - 1 libuuid: @@ -518,11 +528,13 @@ lzo: metis: - 5.1 mimalloc: - - 2.0.6 + - 2.0.7 mkl: - 2022 mkl_devel: - 2022 +mpg123: + - '1.31' mpich: - 4 mpfr: @@ -542,7 +554,7 @@ netcdf_fortran: nettle: - '3.8' nodejs: - - '17' + - '18' - '16' - '14' # [not (osx and arm64)] nss: @@ -556,7 +568,6 @@ ntl: # we build for the oldest version possible of numpy for forward compatibility numpy: # part of a zip_keys: python, python_impl, numpy - - 1.20 # [not (osx and arm64)] - 1.20 - 1.20 - 1.21 @@ -577,50 +588,48 @@ openssl: openturns: - '1.19' orc: - - 1.7.6 + - 1.8.0 pango: - - '1' + - 1.50 pari: - 2.13.* *_pthread perl: - 5.32.1 petsc: - - '3.16' + - '3.17' petsc4py: - - '3.16' + - '3.17' slepc: - - '3.16' + - '3.17' slepc4py: - - '3.16' + - '3.17' svt_av1: - - 1.2.1 + - 1.3.0 p11_kit: - '0.24' pcre: - '8' pcre2: - - '10.37' + - '10.40' pixman: - 0 poco: - - 1.12.2 + - 1.12.4 poppler: - '22.04' proj: - - 9.0.1 + - 9.1.0 pulseaudio: - 14.0 pybind11_abi: - 4 python: # part of a zip_keys: python, python_impl, numpy - - 3.7.* *_cpython # [not (osx and arm64)] - 3.8.* *_cpython - 3.9.* *_cpython - 3.10.* *_cpython python_impl: # part of a zip_keys: python, python_impl, numpy - - cpython # [not (osx and arm64)] - cpython - cpython - cpython @@ -637,18 +646,29 @@ readline: rocksdb: - "6.10" root_base: - - 6.26.4 + - 6.26.8 ruby: - 2.5 - 2.6 r_base: - 4.1 + - 4.2 # [not win] scotch: - 6.0.9 ptscotch: - 6.0.9 s2n: - - 1.3.23 + - 1.3.28 +sdl2: + - '2' +sdl2_image: + - '2' +sdl2_mixer: + - '2' +sdl2_net: + - '2' +sdl2_ttf: + - '2' singular: - 4.2.1.p3 snappy: @@ -658,7 +678,8 @@ soapysdr: sox: - 14.4.2 spdlog: - - '1.10' + - '1.11' +# keep sqlite in sync with libsqlite sqlite: - 3 starlink_ast: @@ -682,7 +703,9 @@ tiledb: ucx: - 1.12.1 uhd: - - 4.2.0 + - 4.3.0 +urdfdom: + - 3.1 vc: # [win] - 14 # [win] vlfeat: From bf751fe027388ddc62590e6c4b79c6e5d1d61464 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 8 Dec 2022 08:04:03 +1000 Subject: [PATCH 32/41] Update conda_build_config.yaml --- conda_build_config.yaml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/conda_build_config.yaml b/conda_build_config.yaml index c5ad5fb00..d11ff9a85 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -1,22 +1,11 @@ - assimp: - - 5.2.4 + - 5.2.5 hdf5: - 1.12.2 -icu: - - 70 -ipopt: - - 3.14.10 gazebo: - '11' -libprotobuf: - - '3.21' libpqxx: - 6 -pango: - - 1.50 -proj: - - 9.1.0 numpy: - 1.21 pcl: @@ -27,8 +16,6 @@ qt: - 5.15 qt-main: - 5.15 -urdfdom: - - '3.1' cdt_name: # [linux] - cos7 # [linux] @@ -38,7 +25,6 @@ python: python_impl: - cpython -# Project overrides macos_min_version: # [osx and x86_64] - 10.14 # [osx and x86_64] macos_machine: # [osx] From f1bc0b1b0276d21a93221292410bf2c71d3889e3 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 8 Dec 2022 08:08:32 +1000 Subject: [PATCH 33/41] add robostack-staging channel where needed --- .github/testpr_environment.yml | 1 + .scripts/build_linux.sh | 1 + .scripts/build_osx.sh | 1 + .scripts/build_osx_arm64.sh | 1 + .scripts/build_win.bat | 1 + env/robostackenv.yaml | 1 + vinca_linux_64.yaml | 1 + vinca_linux_aarch64.yaml | 1 + vinca_osx.yaml | 1 + vinca_osx_arm64.yaml | 1 + vinca_win.yaml | 1 + 11 files changed, 11 insertions(+) diff --git a/.github/testpr_environment.yml b/.github/testpr_environment.yml index 063bff1c5..e7fc701a5 100644 --- a/.github/testpr_environment.yml +++ b/.github/testpr_environment.yml @@ -1,6 +1,7 @@ name: testpr_env channels: - robostack-humble + - robostack-staging - conda-forge dependencies: - python 3.10.* diff --git a/.scripts/build_linux.sh b/.scripts/build_linux.sh index 2b70ac2f4..fcbc745e2 100755 --- a/.scripts/build_linux.sh +++ b/.scripts/build_linux.sh @@ -31,6 +31,7 @@ conda config --set remote_max_retries 5 # conda config --append channels defaults conda config --add channels conda-forge conda config --add channels robostack-humble +conda config --add channels robostack-staging conda config --add channels $CONDA_BLD_PATH conda config --remove channels defaults # conda config --set channel_priority strict diff --git a/.scripts/build_osx.sh b/.scripts/build_osx.sh index dad5d623a..7cf21dc41 100755 --- a/.scripts/build_osx.sh +++ b/.scripts/build_osx.sh @@ -52,6 +52,7 @@ conda config --set add_pip_as_python_dependency false conda config --add channels conda-forge conda config --add channels robostack-humble +conda config --add channels robostack-staging conda config --add channels $CONDA_BLD_PATH # conda config --set channel_priority strict diff --git a/.scripts/build_osx_arm64.sh b/.scripts/build_osx_arm64.sh index 1e5794bf5..3a58dd931 100755 --- a/.scripts/build_osx_arm64.sh +++ b/.scripts/build_osx_arm64.sh @@ -52,6 +52,7 @@ conda config --set add_pip_as_python_dependency false conda config --add channels conda-forge conda config --add channels robostack-humble +conda config --add channels robostack-staging conda config --add channels $CONDA_BLD_PATH # conda config --set channel_priority strict diff --git a/.scripts/build_win.bat b/.scripts/build_win.bat index 8e6c65544..b0926e613 100644 --- a/.scripts/build_win.bat +++ b/.scripts/build_win.bat @@ -32,6 +32,7 @@ call conda index %CONDA_BLD_PATH% call conda config --remove channels defaults call conda config --add channels conda-forge call conda config --add channels robostack-humble +call conda config --add channels robostack-staging call conda config --add channels %CONDA_BLD_PATH% :: call conda config --set channel_priority strict diff --git a/env/robostackenv.yaml b/env/robostackenv.yaml index 658edf288..f0947ba17 100644 --- a/env/robostackenv.yaml +++ b/env/robostackenv.yaml @@ -1,6 +1,7 @@ name: robostackenv channels: - robostack-humble +- robostack-staging - conda-forge dependencies: - python=3.10 diff --git a/vinca_linux_64.yaml b/vinca_linux_64.yaml index 4dc3d42b7..af16a2761 100644 --- a/vinca_linux_64.yaml +++ b/vinca_linux_64.yaml @@ -33,6 +33,7 @@ packages_remove_from_deps: skip_existing: - https://conda.anaconda.org/robostack-humble/ + - https://conda.anaconda.org/robostack-staging/ packages_select_by_deps: # only subset of packages to reduce maintainer load diff --git a/vinca_linux_aarch64.yaml b/vinca_linux_aarch64.yaml index 0c7db551b..5984908c4 100644 --- a/vinca_linux_aarch64.yaml +++ b/vinca_linux_aarch64.yaml @@ -33,6 +33,7 @@ packages_remove_from_deps: skip_existing: - https://conda.anaconda.org/robostack-humble/ + - https://conda.anaconda.org/robostack-staging/ packages_select_by_deps: # only subset of packages to reduce maintainer load diff --git a/vinca_osx.yaml b/vinca_osx.yaml index 488f63d4e..969ce529e 100644 --- a/vinca_osx.yaml +++ b/vinca_osx.yaml @@ -35,6 +35,7 @@ packages_remove_from_deps: skip_existing: - https://conda.anaconda.org/robostack-humble/ + - https://conda.anaconda.org/robostack-staging/ packages_select_by_deps: - ros_workspace diff --git a/vinca_osx_arm64.yaml b/vinca_osx_arm64.yaml index 68c75acbe..d1c53df9f 100644 --- a/vinca_osx_arm64.yaml +++ b/vinca_osx_arm64.yaml @@ -35,6 +35,7 @@ packages_remove_from_deps: skip_existing: - https://conda.anaconda.org/robostack-humble/ + - https://conda.anaconda.org/robostack-staging/ packages_select_by_deps: - ros_workspace diff --git a/vinca_win.yaml b/vinca_win.yaml index b68095170..e6153fa86 100644 --- a/vinca_win.yaml +++ b/vinca_win.yaml @@ -36,6 +36,7 @@ packages_remove_from_deps: skip_existing: - https://conda.anaconda.org/robostack-humble/ + - https://conda.anaconda.org/robostack-staging/ packages_select_by_deps: # only subset of packages to reduce maintainer load From 56bbfa84fbf9623bd59dd7b9df05f1c70aa56e1a Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 8 Dec 2022 08:22:06 +1000 Subject: [PATCH 34/41] Delete ros-humble-ament-cmake-export-targets.patch --- ...os-humble-ament-cmake-export-targets.patch | 22 ------------------- 1 file changed, 22 deletions(-) delete mode 100644 patch/ros-humble-ament-cmake-export-targets.patch diff --git a/patch/ros-humble-ament-cmake-export-targets.patch b/patch/ros-humble-ament-cmake-export-targets.patch deleted file mode 100644 index 253f1acb4..000000000 --- a/patch/ros-humble-ament-cmake-export-targets.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/cmake/ament_cmake_export_targets-extras.cmake.in b/cmake/ament_cmake_export_targets-extras.cmake.in -index 8d86e949..a7402a6d 100644 ---- a/cmake/ament_cmake_export_targets-extras.cmake.in -+++ b/cmake/ament_cmake_export_targets-extras.cmake.in -@@ -9,7 +9,7 @@ if(NOT _exported_targets STREQUAL "") - include("${_export_file}") - - # extract the target names associated with the export -- set(_regex "foreach\\(_expectedTarget (.+)\\)") -+ set(_regex "foreach\\((_cmake)?_expected_?[Tt]arget (IN ITEMS )?(.+)\\)") - file( - STRINGS "${_export_file}" _foreach_targets - REGEX "${_regex}") -@@ -18,7 +18,7 @@ if(NOT _exported_targets STREQUAL "") - message(FATAL_ERROR - "Failed to find exported target names in '${_export_file}'") - endif() -- string(REGEX REPLACE "${_regex}" "\\1" _targets "${_foreach_targets}") -+ string(REGEX REPLACE "${_regex}" "\\3" _targets "${_foreach_targets}") - string(REPLACE " " ";" _targets "${_targets}") - list(LENGTH _targets _length) - From 81a7eaf3eb9e95652e6a29e5ab0ca489557f0017 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 8 Dec 2022 08:29:25 +1000 Subject: [PATCH 35/41] Delete ros-humble-controller-manager.patch --- patch/ros-humble-controller-manager.patch | 111 ---------------------- 1 file changed, 111 deletions(-) delete mode 100644 patch/ros-humble-controller-manager.patch diff --git a/patch/ros-humble-controller-manager.patch b/patch/ros-humble-controller-manager.patch deleted file mode 100644 index 022d5cc28..000000000 --- a/patch/ros-humble-controller-manager.patch +++ /dev/null @@ -1,111 +0,0 @@ -diff --git a/src/realtime.cpp b/src/realtime.cpp -index 7c770448..33bfe2f1 100644 ---- a/src/realtime.cpp -+++ b/src/realtime.cpp -@@ -34,10 +34,14 @@ bool has_realtime_kernel() - - bool configure_sched_fifo(int priority) - { -+#if __linux__ - struct sched_param schedp; - memset(&schedp, 0, sizeof(schedp)); - schedp.sched_priority = priority; - return !sched_setscheduler(0, SCHED_FIFO, &schedp); -+#else -+ return false; -+#endif - } - - } // namespace controller_manager -diff --git a/src/ros2_control_node.cpp b/src/ros2_control_node.cpp -index b8468318..813e8232 100644 ---- a/src/ros2_control_node.cpp -+++ b/src/ros2_control_node.cpp -@@ -19,20 +19,10 @@ - #include - - #include "controller_manager/controller_manager.hpp" --#include "controller_manager/realtime.hpp" - #include "rclcpp/rclcpp.hpp" - - using namespace std::chrono_literals; - --namespace --{ --// Reference: https://man7.org/linux/man-pages/man2/sched_setparam.2.html --// This value is used when configuring the main loop to use SCHED_FIFO scheduling --// We use a midpoint RT priority to allow maximum flexibility to users --int const kSchedPriority = 50; -- --} // namespace -- - int main(int argc, char ** argv) - { - rclcpp::init(argc, argv); -@@ -43,46 +33,36 @@ int main(int argc, char ** argv) - - auto cm = std::make_shared(executor, manager_node_name); - -- RCLCPP_INFO(cm->get_logger(), "update rate is %d Hz", cm->get_update_rate()); -- -+ // TODO(anyone): Due to issues with the MutliThreadedExecutor, this control loop does not rely on -+ // the executor (see issue #260). -+ // When the MutliThreadedExecutor issues are fixed (ros2/rclcpp#1168), this loop should be -+ // converted back to a timer. - std::thread cm_thread( - [cm]() - { -- if (controller_manager::has_realtime_kernel()) -- { -- if (!controller_manager::configure_sched_fifo(kSchedPriority)) -- { -- RCLCPP_WARN(cm->get_logger(), "Could not enable FIFO RT scheduling policy"); -- } -- } -- else -- { -- RCLCPP_INFO(cm->get_logger(), "RT kernel is recommended for better performance"); -- } -+ RCLCPP_INFO(cm->get_logger(), "update rate is %d Hz", cm->get_update_rate()); - -- // for calculating sleep time -- auto const period = std::chrono::nanoseconds(1'000'000'000 / cm->get_update_rate()); -- std::chrono::system_clock::time_point next_iteration_time = -- std::chrono::system_clock::time_point(std::chrono::nanoseconds(cm->now().nanoseconds())); -+ rclcpp::Time current_time = cm->now(); -+ rclcpp::Time previous_time = current_time; -+ rclcpp::Time end_period = current_time; - -- // for calculating the measured period of the loop -- rclcpp::Time previous_time = cm->now(); -+ // Use nanoseconds to avoid chrono's rounding -+ rclcpp::Duration period(std::chrono::nanoseconds(1000000000 / cm->get_update_rate())); - - while (rclcpp::ok()) - { -- // calculate measured period -- auto const current_time = cm->now(); -- auto const measured_period = current_time - previous_time; -- previous_time = current_time; -+ // wait until we hit the end of the period -+ end_period += period; -+ std::this_thread::sleep_for( -+ std::chrono::nanoseconds((end_period - cm->now()).nanoseconds())); - - // execute update loop -- cm->read(cm->now(), measured_period); -- cm->update(cm->now(), measured_period); -- cm->write(cm->now(), measured_period); -- -- // wait until we hit the end of the period -- next_iteration_time += period; -- std::this_thread::sleep_until(next_iteration_time); -+ current_time = cm->now(); -+ auto period = current_time - previous_time; -+ previous_time = current_time; -+ cm->read(current_time, period); -+ cm->update(current_time, period); -+ cm->write(current_time, period); - } - }); - From 15cf3ec04b058552ebdaa3a2638327d056ab1245 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 8 Dec 2022 08:37:04 +1000 Subject: [PATCH 36/41] Delete ros-humble-nav2-constrained-smoother.patch --- ...ros-humble-nav2-constrained-smoother.patch | 26 ------------------- 1 file changed, 26 deletions(-) delete mode 100644 patch/ros-humble-nav2-constrained-smoother.patch diff --git a/patch/ros-humble-nav2-constrained-smoother.patch b/patch/ros-humble-nav2-constrained-smoother.patch deleted file mode 100644 index 342e2079b..000000000 --- a/patch/ros-humble-nav2-constrained-smoother.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/include/nav2_constrained_smoother/smoother_cost_function.hpp b/include/nav2_constrained_smoother/smoother_cost_function.hpp -index 8272b2f2aa..c0c3919ccc 100644 ---- a/include/nav2_constrained_smoother/smoother_cost_function.hpp -+++ b/include/nav2_constrained_smoother/smoother_cost_function.hpp -@@ -159,7 +159,7 @@ class SmootherCostFunction - Eigen::Matrix center = arcCenter( - pt_prev, pt, pt_next, - next_to_last_length_ratio_ < 0); -- if (ceres::IsInfinite(center[0])) { -+ if (ceres::isinf(center[0])) { - return; - } - T turning_rad = (pt - center).norm(); -diff --git a/nav2_constrained_smoother/include/nav2_constrained_smoother/utils.hpp b/nav2_constrained_smoother/include/nav2_constrained_smoother/utils.hpp -index 9be4e88f0b..682ed1c16b 100644 ---- a/include/nav2_constrained_smoother/utils.hpp -+++ b/include/nav2_constrained_smoother/utils.hpp -@@ -86,7 +86,7 @@ inline Eigen::Matrix tangentDir( - bool is_cusp) - { - Eigen::Matrix center = arcCenter(pt_prev, pt, pt_next, is_cusp); -- if (ceres::IsInfinite(center[0])) { // straight line -+ if (ceres::isinf(center[0])) { // straight line - Eigen::Matrix d1 = pt - pt_prev; - Eigen::Matrix d2 = pt_next - pt; - From 30a7bb1ff482a22eeae35afde68d31982889911f Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 8 Dec 2022 08:49:36 +1000 Subject: [PATCH 37/41] Delete ros-humble-ur-client-library.linux.patch --- .../ros-humble-ur-client-library.linux.patch | 29 ------------------- 1 file changed, 29 deletions(-) delete mode 100644 patch/ros-humble-ur-client-library.linux.patch diff --git a/patch/ros-humble-ur-client-library.linux.patch b/patch/ros-humble-ur-client-library.linux.patch deleted file mode 100644 index 2a5f80ee8..000000000 --- a/patch/ros-humble-ur-client-library.linux.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 5daa20d..62c4fae 100644 ---- a/examples/CMakeLists.txt -+++ b/examples/CMakeLists.txt -@@ -10,17 +10,21 @@ include(DefineCXX17CompilerFlag) - DEFINE_CXX_17_COMPILER_FLAG(CXX17_FLAG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic") - -+if(UNIX AND NOT APPLE) -+ set(LINK_RT rt) -+endif() -+ - add_executable(driver_example - full_driver.cpp) - target_compile_options(driver_example PUBLIC ${CXX17_FLAG}) --target_link_libraries(driver_example ur_client_library::urcl) -+target_link_libraries(driver_example ur_client_library::urcl ${LINK_RT}) - - add_executable(primary_pipeline_example - primary_pipeline.cpp) - target_compile_options(primary_pipeline_example PUBLIC ${CXX17_FLAG}) --target_link_libraries(primary_pipeline_example ur_client_library::urcl) -+target_link_libraries(primary_pipeline_example ur_client_library::urcl ${LINK_RT}) - - add_executable(rtde_client_example - rtde_client.cpp) - target_compile_options(rtde_client_example PUBLIC ${CXX17_FLAG}) --target_link_libraries(rtde_client_example ur_client_library::urcl) -+target_link_libraries(rtde_client_example ur_client_library::urcl ${LINK_RT}) From f437518e8abed84d41c774e12f456ffc6941d9d0 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 8 Dec 2022 09:12:53 +1000 Subject: [PATCH 38/41] Boost 1.78 --- additional_recipes/ros2-distro-mutex/recipe.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/additional_recipes/ros2-distro-mutex/recipe.yaml b/additional_recipes/ros2-distro-mutex/recipe.yaml index 48cae3bad..cfcc973d1 100644 --- a/additional_recipes/ros2-distro-mutex/recipe.yaml +++ b/additional_recipes/ros2-distro-mutex/recipe.yaml @@ -30,7 +30,7 @@ requirements: # if the upstream package does not have run_exports # please change it in the conda_build_config.yaml! run_constrained: - - boost-cpp 1.74 + - boost-cpp 1.78 - pcl 1.12 - gazebo 11 - ogre 1.12 From 7bc4dd513d64b75bc086925dcf0e4eadf46e23c4 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 8 Dec 2022 10:30:41 +1000 Subject: [PATCH 39/41] Create ros-humble-ur-client-library.linux.patch --- .../ros-humble-ur-client-library.linux.patch | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 patch/ros-humble-ur-client-library.linux.patch diff --git a/patch/ros-humble-ur-client-library.linux.patch b/patch/ros-humble-ur-client-library.linux.patch new file mode 100644 index 000000000..3e1d8efe0 --- /dev/null +++ b/patch/ros-humble-ur-client-library.linux.patch @@ -0,0 +1,34 @@ +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index 3028c486..5fbc8b90 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -13,24 +13,24 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic") + add_executable(driver_example + full_driver.cpp) + target_compile_options(driver_example PUBLIC ${CXX17_FLAG}) +-target_link_libraries(driver_example ur_client_library::urcl) ++target_link_libraries(driver_example ur_client_library::urcl rt) + + add_executable(primary_pipeline_example + primary_pipeline.cpp) + target_compile_options(primary_pipeline_example PUBLIC ${CXX17_FLAG}) +-target_link_libraries(primary_pipeline_example ur_client_library::urcl) ++target_link_libraries(primary_pipeline_example ur_client_library::urcl rt) + + add_executable(primary_pipeline_calibration_example + primary_pipeline_calibration.cpp) + target_compile_options(primary_pipeline_calibration_example PUBLIC ${CXX17_FLAG}) +-target_link_libraries(primary_pipeline_calibration_example ur_client_library::urcl) ++target_link_libraries(primary_pipeline_calibration_example ur_client_library::urcl rt) + + add_executable(rtde_client_example + rtde_client.cpp) + target_compile_options(rtde_client_example PUBLIC ${CXX17_FLAG}) +-target_link_libraries(rtde_client_example ur_client_library::urcl) ++target_link_libraries(rtde_client_example ur_client_library::urcl rt) + + add_executable(dashboard_example + dashboard_example.cpp) + target_compile_options(dashboard_example PUBLIC ${CXX17_FLAG}) +-target_link_libraries(dashboard_example ur_client_library::urcl) ++target_link_libraries(dashboard_example ur_client_library::urcl rt) From 9875e5bb244c469427bad6232ed0c540163386c4 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 8 Dec 2022 12:55:36 +1000 Subject: [PATCH 40/41] Create ros-humble-apex-containers.patch --- patch/ros-humble-apex-containers.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 patch/ros-humble-apex-containers.patch diff --git a/patch/ros-humble-apex-containers.patch b/patch/ros-humble-apex-containers.patch new file mode 100644 index 000000000..35a31fc0e --- /dev/null +++ b/patch/ros-humble-apex-containers.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ebab722..452127f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,8 +27,6 @@ set(apex_containers_sources + set_source_files_properties(${apex_containers_sources} PROPERTIES language "CXX") + add_library(${PROJECT_NAME} SHARED ${apex_containers_sources}) + target_compile_options(${PROJECT_NAME} PRIVATE +- -Wall +- -Werror + -Wextra + -pedantic + -Wcast-align From 1eb1092c9fc7be57912bf0624d1bd5c76da7b488 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Fri, 9 Dec 2022 06:54:41 +1000 Subject: [PATCH 41/41] Add octomap as dep of geometric_shapes --- patch/dependencies.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/patch/dependencies.yaml b/patch/dependencies.yaml index 2c0ca4fbc..08e0e4cff 100644 --- a/patch/dependencies.yaml +++ b/patch/dependencies.yaml @@ -185,3 +185,5 @@ ament_cmake_core: add_build: ["setuptools 61.0.0"] ros_gz_sim: add_host: ["REQUIRE_OPENGL"] +geometric_shapes: + add_host: ["octomap"]