RoboStack / ros-galactic

Vinca build files for ROS 2 Galactic Geochelone
https://robostack.github.io
21 stars 14 forks source link

Nodes can't be started via ros2 run on Windows #74

Closed traversaro closed 2 years ago

traversaro commented 2 years ago

On my Windows system, if I try to run:

ros2 run demo_nodes_py demo_talker

it fails with:

No executable found

Other similar nodes instead work fine, for example:

(ros2) C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2>ros2 run demo_nodes_cpp talker

whose output is:

[INFO] [1642666133.989059100] [talker]: Publishing: 'Hello World: 1'
[INFO] [1642666134.978791100] [talker]: Publishing: 'Hello World: 2'


Environment (conda list):

``` $ conda list (ros2) C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2>conda list # packages in environment at C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2: # # Name Version Build Channel argcomplete 2.0.0 pyhd8ed1ab_0 conda-forge assimp 5.0.1 hc2aa0de_7 conda-forge atomicwrites 1.4.0 pyh9f0ad1d_0 conda-forge attrs 21.4.0 pyhd8ed1ab_0 conda-forge boost 1.74.0 py38he5193b3_4 conda-forge boost-cpp 1.74.0 h5b4e17d_5 conda-forge brotli 1.0.9 h8ffe710_6 conda-forge brotli-bin 1.0.9 h8ffe710_6 conda-forge bullet 3.17 h57928b3_1 conda-forge bullet-cpp 3.17 h5d928e2_1 conda-forge bzip2 1.0.8 h8ffe710_4 conda-forge ca-certificates 2021.10.8 h5b45459_0 conda-forge cairo 1.16.0 hb19e0ff_1008 conda-forge catkin_pkg 0.4.24 pyhd8ed1ab_1 conda-forge certifi 2021.10.8 py38haa244fe_1 conda-forge cffi 1.15.0 py38hd8c33c5_0 conda-forge cmake 3.21.3 h39d44d4_0 conda-forge colorama 0.4.4 pyh9f0ad1d_0 conda-forge console_bridge 1.0.1 h5362a0b_0 conda-forge cppcheck 2.6.2 py38h1c6bfe0_0 conda-forge cryptography 36.0.1 py38hb7941b4_0 conda-forge curl 7.81.0 h789b8ee_0 conda-forge cycler 0.11.0 pyhd8ed1ab_0 conda-forge distro 1.6.0 pyhd8ed1ab_0 conda-forge docutils 0.18.1 py38haa244fe_0 conda-forge double-conversion 3.1.7 h0e60522_0 conda-forge eigen 3.4.0 h2d74725_0 conda-forge empy 3.3.4 pyh9f0ad1d_1 conda-forge expat 2.4.3 h39d44d4_0 conda-forge ffmpeg 4.3.1 ha925a31_0 conda-forge flake8 4.0.1 pyhd8ed1ab_0 conda-forge flann 1.9.1 h7dfa0ef_1008 conda-forge font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge font-ttf-inconsolata 3.000 h77eed37_0 conda-forge font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge font-ttf-ubuntu 0.83 hab24e00_0 conda-forge fontconfig 2.13.1 h1989441_1005 conda-forge fonts-conda-ecosystem 1 0 conda-forge fonts-conda-forge 1 0 conda-forge fonttools 4.28.5 py38h294d835_0 conda-forge foonathan-memory 0.6.2 h57928b3_2 conda-forge freeglut 3.2.1 h0e60522_2 conda-forge freeimage 3.18.0 hfcb8cd7_7 conda-forge freetype 2.10.4 h546665d_1 conda-forge fribidi 1.0.10 h8d14728_0 conda-forge getopt-win32 0.1 h8ffe710_0 conda-forge gettext 0.19.8.1 ha2e2712_1008 conda-forge gl2ps 1.4.2 h0597ee9_0 conda-forge glew 2.1.0 h39d44d4_2 conda-forge gmock 1.10.0 h2d74725_7 conda-forge graphite2 1.3.13 1000 conda-forge graphviz 2.50.0 hefbd956_1 conda-forge gtest 1.10.0 h2d74725_7 conda-forge gts 0.7.6 h7c369d9_2 conda-forge harfbuzz 3.1.1 hc601d6f_0 conda-forge hdf4 4.2.15 h0e5069d_3 conda-forge hdf5 1.10.6 nompi_h5268f04_1114 conda-forge icu 68.2 h0e60522_0 conda-forge ifcfg 0.21 py_0 conda-forge ilmbase 2.5.5 h12d4b20_0 conda-forge importlib-metadata 4.10.1 py38haa244fe_0 conda-forge importlib_metadata 4.10.1 hd8ed1ab_0 conda-forge importlib_resources 5.4.0 pyhd8ed1ab_0 conda-forge iniconfig 1.1.1 pyh9f0ad1d_0 conda-forge intel-openmp 2022.0.0 h57928b3_3663 conda-forge jasper 2.0.33 h77af90b_0 conda-forge jbig 2.1 h8d14728_2003 conda-forge jpeg 9d h8ffe710_0 conda-forge jsoncpp 1.9.4 h2d74725_3 conda-forge jxrlib 1.1 h8ffe710_2 conda-forge kiwisolver 1.3.2 py38hbd9d945_1 conda-forge krb5 1.19.2 h20d022d_3 conda-forge lark-parser 0.12.0 pyhd8ed1ab_0 conda-forge lcms2 2.12 h2a16943_0 conda-forge lerc 3.0 h0e60522_0 conda-forge libblas 3.9.0 8_mkl conda-forge libbrotlicommon 1.0.9 h8ffe710_6 conda-forge libbrotlidec 1.0.9 h8ffe710_6 conda-forge libbrotlienc 1.0.9 h8ffe710_6 conda-forge libcblas 3.9.0 8_mkl conda-forge libclang 11.1.0 default_h5c34c98_1 conda-forge libcurl 7.81.0 h789b8ee_0 conda-forge libdeflate 1.8 h8ffe710_0 conda-forge libffi 3.4.2 h8ffe710_5 conda-forge libgd 2.3.3 h8bb91b0_0 conda-forge libglib 2.70.2 h3be07f2_1 conda-forge libiconv 1.16 he774522_0 conda-forge liblapack 3.9.0 8_mkl conda-forge liblapacke 3.9.0 8_mkl conda-forge libnetcdf 4.8.1 nompi_hf689e7d_100 conda-forge libogg 1.3.4 h8ffe710_1 conda-forge libopencv 4.5.2 py38hf76942b_1 conda-forge libpng 1.6.37 h1d00b33_2 conda-forge libprotobuf 3.16.0 h7755175_0 conda-forge libraw 0.20.2 hee1bdec_1 conda-forge libssh2 1.10.0 h680486a_2 conda-forge libtheora 1.1.1 h8d14728_1005 conda-forge libtiff 4.3.0 hd413186_2 conda-forge libwebp 1.2.1 h57928b3_0 conda-forge libwebp-base 1.2.1 h8ffe710_0 conda-forge libxcb 1.13 hcd874cb_1004 conda-forge libxml2 2.9.12 hf5bbc77_1 conda-forge libxslt 1.1.33 h65864e5_3 conda-forge libzip 1.8.0 hfed4ece_1 conda-forge libzlib 1.2.11 h8ffe710_1013 conda-forge loguru 0.5.3 py38haa244fe_3 conda-forge lxml 4.7.1 py38h292cb97_0 conda-forge lz4-c 1.9.3 h8ffe710_1 conda-forge m2w64-gcc-libgfortran 5.3.0 6 conda-forge m2w64-gcc-libs 5.3.0 7 conda-forge m2w64-gcc-libs-core 5.3.0 7 conda-forge m2w64-gmp 6.1.0 2 conda-forge m2w64-libwinpthread-git 5.0.0.4634.697f757 2 conda-forge matplotlib-base 3.5.1 py38h1f000d6_0 conda-forge mccabe 0.6.1 py_1 conda-forge mkl 2020.4 hb70f87d_311 conda-forge mock 4.0.3 py38haa244fe_2 conda-forge msys2-conda-epoch 20160418 1 conda-forge munkres 1.1.4 pyh9f0ad1d_0 conda-forge netifaces 0.10.9 py38h294d835_1005 conda-forge numpy 1.22.0 py38hcf66579_0 conda-forge ogre 1.12.13 h0650132_0 conda-forge olefile 0.46 pyh9f0ad1d_1 conda-forge openexr 2.5.5 hab3b255_0 conda-forge openjpeg 2.4.0 hb211442_1 conda-forge openssl 1.1.1l h8ffe710_0 conda-forge packaging 21.3 pyhd8ed1ab_0 conda-forge pango 1.48.10 h33e4779_2 conda-forge pcl 1.11.1 h68e0818_5 conda-forge pcre 8.45 h0e60522_0 conda-forge pillow 8.4.0 py38h794f750_0 conda-forge pip 21.3.1 pyhd8ed1ab_0 conda-forge pixman 0.40.0 h8ffe710_0 conda-forge pkg-config 0.29.2 h2bf4dc2_1008 conda-forge pluggy 1.0.0 py38haa244fe_2 conda-forge proj 7.2.0 h1cfcee9_2 conda-forge psutil 5.9.0 py38h294d835_0 conda-forge pthread-stubs 0.4 hcd874cb_1001 conda-forge pugixml 1.11.4 h0e60522_0 conda-forge py 1.11.0 pyh6c4a22f_0 conda-forge py-opencv 4.5.2 py38h43734a8_1 conda-forge pybullet 3.17 py38h5d928e2_1 conda-forge pycairo 1.20.1 py38h979ce04_1 conda-forge pycodestyle 2.8.0 pyhd8ed1ab_0 conda-forge pycparser 2.21 pyhd8ed1ab_0 conda-forge pydocstyle 6.1.1 pyhd8ed1ab_0 conda-forge pydot 1.4.2 py38haa244fe_1 conda-forge pyflakes 2.4.0 pyhd8ed1ab_0 conda-forge pygments 2.11.2 pyhd8ed1ab_0 conda-forge pyparsing 3.0.6 pyhd8ed1ab_0 conda-forge pyqt 5.12.3 py38haa244fe_8 conda-forge pyqt-impl 5.12.3 py38h885f38d_8 conda-forge pyqt5-sip 4.19.18 py38h885f38d_8 conda-forge pyqtchart 5.12 py38h885f38d_8 conda-forge pyqtwebengine 5.12.1 py38h885f38d_8 conda-forge pytest 6.2.5 py38haa244fe_2 conda-forge python 3.8.12 h7840368_2_cpython conda-forge python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge python_abi 3.8 2_cp38 conda-forge pyyaml 6.0 py38h294d835_3 conda-forge qhull 2020.2 h70d2c02_2 conda-forge qt 5.12.9 h5909a2a_4 conda-forge ros-galactic-action-msgs 1.0.3 py38hae75d3f_1 robostack-experimental ros-galactic-action-tutorials-cpp 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-action-tutorials-interfaces 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-action-tutorials-py 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-actionlib-msgs 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-auto 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-copyright 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-core 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-cppcheck 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-cpplint 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-export-definitions 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-export-dependencies 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-export-include-directories 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-export-interfaces 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-export-libraries 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-export-link-flags 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-export-targets 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-flake8 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-gmock 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-gtest 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-include-directories 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-libraries 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-lint-cmake 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-pep257 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-pytest 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-python 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-ros 0.9.2 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-target-dependencies 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-test 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-uncrustify 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-version 1.1.4 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cmake-xmllint 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-copyright 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cppcheck 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-cpplint 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-flake8 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-index-cpp 1.2.0 py38hae75d3f_1 robostack-experimental ros-galactic-ament-index-python 1.2.0 py38hae75d3f_1 robostack-experimental ros-galactic-ament-lint 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-lint-auto 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-lint-cmake 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-lint-common 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-package 0.12.0 py38hae75d3f_1 robostack-experimental ros-galactic-ament-pep257 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-uncrustify 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-ament-xmllint 0.10.6 py38hae75d3f_1 robostack-experimental ros-galactic-angles 1.12.4 py38hae75d3f_1 robostack-experimental ros-galactic-builtin-interfaces 1.0.3 py38hae75d3f_1 robostack-experimental ros-galactic-class-loader 2.1.2 py38hd46eb23_1 robostack-experimental ros-galactic-common-interfaces 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-composition 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-composition-interfaces 1.0.3 py38hae75d3f_1 robostack-experimental ros-galactic-console-bridge-vendor 1.3.2 py38hd46eb23_1 robostack-experimental ros-galactic-cv-bridge 2.2.1 py38ha4d9963_1 robostack-experimental ros-galactic-demo-nodes-cpp 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-demo-nodes-cpp-native 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-demo-nodes-py 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-depthimage-to-laserscan 2.3.1 py38h006a787_1 robostack-experimental ros-galactic-desktop 0.9.3 py38hae75d3f_1 robostack-experimental ros-galactic-diagnostic-msgs 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-domain-coordinator 0.9.2 py38hae75d3f_1 robostack-experimental ros-galactic-dummy-map-server 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-dummy-robot-bringup 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-dummy-sensors 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-eigen3-cmake-module 0.1.1 py38hae75d3f_1 robostack-experimental ros-galactic-example-interfaces 0.9.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclcpp-minimal-action-client 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclcpp-minimal-action-server 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclcpp-minimal-client 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclcpp-minimal-composition 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclcpp-minimal-publisher 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclcpp-minimal-service 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclcpp-minimal-subscriber 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclcpp-minimal-timer 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclcpp-multithreaded-executor 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclpy-executors 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclpy-minimal-action-client 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclpy-minimal-action-server 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclpy-minimal-client 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclpy-minimal-publisher 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclpy-minimal-service 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-examples-rclpy-minimal-subscriber 0.11.2 py38hae75d3f_1 robostack-experimental ros-galactic-fastcdr 1.0.20 py38hae75d3f_1 robostack-experimental ros-galactic-fastrtps 2.3.4 py38hfbfc7bd_1 robostack-experimental ros-galactic-fastrtps-cmake-module 1.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-foonathan-memory-vendor 1.0.0 py38hae75d3f_1 robostack-experimental ros-galactic-geometry-msgs 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-geometry2 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-gmock-vendor 1.10.9003 py38hae75d3f_1 robostack-experimental ros-galactic-gtest-vendor 1.10.9003 py38hae75d3f_1 robostack-experimental ros-galactic-image-geometry 2.2.1 py38h006a787_1 robostack-experimental ros-galactic-image-tools 0.14.3 py38h006a787_1 robostack-experimental ros-galactic-image-transport 2.3.0 py38hae75d3f_1 robostack-experimental ros-galactic-interactive-markers 2.2.0 py38hae75d3f_1 robostack-experimental ros-galactic-intra-process-demo 0.14.3 py38h006a787_1 robostack-experimental ros-galactic-joy 3.0.0 py38hae75d3f_1 robostack-experimental ros-galactic-kdl-parser 2.5.0 py38hae75d3f_1 robostack-experimental ros-galactic-laser-geometry 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-launch 0.17.0 py38hae75d3f_1 robostack-experimental ros-galactic-launch-ros 0.14.2 py38hae75d3f_1 robostack-experimental ros-galactic-launch-testing 0.17.0 py38hae75d3f_1 robostack-experimental ros-galactic-launch-testing-ament-cmake 0.17.0 py38hae75d3f_1 robostack-experimental ros-galactic-launch-testing-ros 0.14.2 py38hae75d3f_1 robostack-experimental ros-galactic-launch-xml 0.17.0 py38hae75d3f_1 robostack-experimental ros-galactic-launch-yaml 0.17.0 py38hae75d3f_1 robostack-experimental ros-galactic-libcurl-vendor 2.5.0 py38haf060d0_1 robostack-experimental ros-galactic-libstatistics-collector 1.1.1 py38hae75d3f_1 robostack-experimental ros-galactic-libyaml-vendor 1.2.0 py38hae75d3f_1 robostack-experimental ros-galactic-lifecycle 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-lifecycle-msgs 1.0.3 py38hae75d3f_1 robostack-experimental ros-galactic-logging-demo 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-map-msgs 2.1.0 py38hae75d3f_1 robostack-experimental ros-galactic-message-filters 3.2.6 py38hae75d3f_1 robostack-experimental ros-galactic-nav-msgs 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-orocos-kdl 3.3.3 py38hae75d3f_1 robostack-experimental ros-galactic-osrf-pycommon 0.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-pcl-conversions 2.3.2 py38h617f080_1 robostack-experimental ros-galactic-pcl-msgs 1.0.0 py38hae75d3f_1 robostack-experimental ros-galactic-pendulum-msgs 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-pluginlib 5.0.0 py38hae75d3f_1 robostack-experimental ros-galactic-pybind11-vendor 2.2.6 py38hae75d3f_1 robostack-experimental ros-galactic-python-cmake-module 0.8.1 py38hae75d3f_1 robostack-experimental ros-galactic-python-qt-binding 1.0.7 py38hae75d3f_1 robostack-experimental ros-galactic-qt-dotgraph 2.0.1 py38hae75d3f_1 robostack-experimental ros-galactic-qt-gui 2.0.1 py38hae75d3f_1 robostack-experimental ros-galactic-qt-gui-cpp 2.0.1 py38hae75d3f_1 robostack-experimental ros-galactic-qt-gui-py-common 2.0.1 py38hae75d3f_1 robostack-experimental ros-galactic-quality-of-service-demo-cpp 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-quality-of-service-demo-py 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-rcl 3.1.2 py38hae75d3f_1 robostack-experimental ros-galactic-rcl-action 3.1.2 py38hae75d3f_1 robostack-experimental ros-galactic-rcl-interfaces 1.0.3 py38hae75d3f_1 robostack-experimental ros-galactic-rcl-lifecycle 3.1.2 py38hae75d3f_1 robostack-experimental ros-galactic-rcl-logging-interface 2.1.2 py38hae75d3f_1 robostack-experimental ros-galactic-rcl-logging-spdlog 2.1.2 py38hd606137_1 robostack-experimental ros-galactic-rcl-yaml-param-parser 3.1.2 py38hae75d3f_1 robostack-experimental ros-galactic-rclcpp 9.2.0 py38hae75d3f_1 robostack-experimental ros-galactic-rclcpp-action 9.2.0 py38hae75d3f_1 robostack-experimental ros-galactic-rclcpp-components 9.2.0 py38hae75d3f_1 robostack-experimental ros-galactic-rclcpp-lifecycle 9.2.0 py38hae75d3f_1 robostack-experimental ros-galactic-rclpy 1.9.0 py38hae75d3f_1 robostack-experimental ros-galactic-rcpputils 2.2.0 py38hae75d3f_1 robostack-experimental ros-galactic-rcutils 4.0.2 py38hae75d3f_1 robostack-experimental ros-galactic-resource-retriever 2.5.0 py38hae75d3f_1 robostack-experimental ros-galactic-rmw 3.3.1 py38hae75d3f_1 robostack-experimental ros-galactic-rmw-connextdds 0.6.2 py38hae75d3f_1 robostack-experimental ros-galactic-rmw-connextdds-common 0.6.2 py38hae75d3f_1 robostack-experimental ros-galactic-rmw-dds-common 1.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rmw-fastrtps-cpp 5.0.1 py38hae75d3f_1 robostack-experimental ros-galactic-rmw-fastrtps-dynamic-cpp 5.0.1 py38hae75d3f_1 robostack-experimental ros-galactic-rmw-fastrtps-shared-cpp 5.0.1 py38hae75d3f_1 robostack-experimental ros-galactic-rmw-implementation 2.4.1 py38hae75d3f_1 robostack-experimental ros-galactic-rmw-implementation-cmake 3.3.1 py38hae75d3f_1 robostack-experimental ros-galactic-robot-state-publisher 2.5.1 py38hae75d3f_1 robostack-experimental ros-galactic-ros-base 0.9.3 py38hae75d3f_1 robostack-experimental ros-galactic-ros-core 0.9.3 py38hae75d3f_1 robostack-experimental ros-galactic-ros-environment 3.1.0 py38hae75d3f_1 robostack-experimental ros-galactic-ros-workspace 1.0.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2action 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2bag 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-ros2cli 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2cli-common-extensions 0.1.1 py38hae75d3f_1 robostack-experimental ros-galactic-ros2component 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2doctor 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2interface 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2launch 0.14.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2lifecycle 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2multicast 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2node 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2param 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2pkg 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2run 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2service 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-ros2topic 0.13.2 py38hae75d3f_1 robostack-experimental ros-galactic-rosbag2 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosbag2-compression 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosbag2-compression-zstd 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosbag2-cpp 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosbag2-interfaces 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosbag2-py 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosbag2-storage 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosbag2-storage-default-plugins 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosbag2-transport 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosgraph-msgs 1.0.3 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-adapter 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-cli 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-cmake 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-default-generators 1.1.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-default-runtime 1.1.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-generator-c 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-generator-cpp 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-generator-py 0.11.1 py38h6959198_1 robostack-experimental ros-galactic-rosidl-parser 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-runtime-c 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-runtime-cpp 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-runtime-py 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-typesupport-c 1.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-typesupport-cpp 1.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-typesupport-fastrtps-c 1.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-typesupport-fastrtps-cpp 1.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-typesupport-interface 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-typesupport-introspection-c 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rosidl-typesupport-introspection-cpp 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-rpyutils 0.2.0 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-action 2.0.0 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-bag 1.1.1 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-bag-plugins 1.1.1 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-common-plugins 1.1.0 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-console 2.0.1 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-graph 1.2.0 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-gui 1.1.2 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-gui-cpp 1.1.2 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-gui-py 1.1.2 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-image-view 1.1.1 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-msg 1.0.5 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-plot 1.1.0 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-publisher 1.1.3 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-py-common 1.1.2 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-py-console 1.0.2 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-reconfigure 1.0.8 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-service-caller 1.0.5 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-shell 1.0.2 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-srv 1.0.3 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-top 1.0.2 py38hae75d3f_1 robostack-experimental ros-galactic-rqt-topic 1.2.2 py38hae75d3f_1 robostack-experimental ros-galactic-rti-connext-dds-cmake-module 0.6.2 py38hae75d3f_1 robostack-experimental ros-galactic-rviz-assimp-vendor 8.5.0 py38hae75d3f_1 robostack-experimental ros-galactic-rviz-common 8.5.0 py38hae75d3f_1 robostack-experimental ros-galactic-rviz-default-plugins 8.5.0 py38hae75d3f_1 robostack-experimental ros-galactic-rviz-ogre-vendor 8.5.0 py38h5887923_1 robostack-experimental ros-galactic-rviz-rendering 8.5.0 py38hc8111a6_1 robostack-experimental ros-galactic-rviz2 8.5.0 py38hae75d3f_1 robostack-experimental ros-galactic-sdl2-vendor 3.0.0 py38hae75d3f_1 robostack-experimental ros-galactic-sensor-msgs 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-shape-msgs 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-shared-queues-vendor 0.9.1 py38hae75d3f_1 robostack-experimental ros-galactic-spdlog-vendor 1.3.0 py38hd606137_1 robostack-experimental ros-galactic-sqlite3-vendor 0.9.1 py38h182b809_1 robostack-experimental ros-galactic-sros2 0.10.2 py38hae75d3f_1 robostack-experimental ros-galactic-sros2-cmake 0.10.2 py38hae75d3f_1 robostack-experimental ros-galactic-statistics-msgs 1.0.3 py38hae75d3f_1 robostack-experimental ros-galactic-std-msgs 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-std-srvs 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-stereo-msgs 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-tango-icons-vendor 0.1.0 py38hae75d3f_1 robostack-experimental ros-galactic-teleop-twist-joy 2.4.3 py38hae75d3f_1 robostack-experimental ros-galactic-teleop-twist-keyboard 2.3.2 py38hae75d3f_1 robostack-experimental ros-galactic-tf2 0.17.2 py38hd46eb23_1 robostack-experimental ros-galactic-tf2-bullet 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-tf2-eigen 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-tf2-eigen-kdl 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-tf2-geometry-msgs 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-tf2-kdl 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-tf2-msgs 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-tf2-py 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-tf2-ros 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-tf2-ros-py 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-tf2-sensor-msgs 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-tf2-tools 0.17.2 py38hae75d3f_1 robostack-experimental ros-galactic-tinyxml-vendor 0.8.2 py38hae75d3f_1 robostack-experimental ros-galactic-tinyxml2-vendor 0.7.4 py38h5c52584_1 robostack-experimental ros-galactic-topic-monitor 0.14.3 py38hae75d3f_1 robostack-experimental ros-galactic-tracetools 2.3.0 py38hae75d3f_1 robostack-experimental ros-galactic-trajectory-msgs 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-turtlesim 1.3.3 py38hae75d3f_1 robostack-experimental ros-galactic-uncrustify-vendor 1.5.3 py38hae75d3f_1 robostack-experimental ros-galactic-unique-identifier-msgs 2.2.1 py38hae75d3f_1 robostack-experimental ros-galactic-urdf 2.5.2 py38hae75d3f_1 robostack-experimental ros-galactic-urdf-parser-plugin 2.5.2 py38hae75d3f_1 robostack-experimental ros-galactic-urdfdom 2.3.5 py38hd46eb23_1 robostack-experimental ros-galactic-urdfdom-headers 1.0.5 py38hae75d3f_1 robostack-experimental ros-galactic-visualization-msgs 2.2.3 py38hae75d3f_1 robostack-experimental ros-galactic-yaml-cpp-vendor 7.1.0 py38hae75d3f_1 robostack-experimental ros-galactic-zstd-vendor 0.9.1 py38hf58a64d_1 robostack-experimental ros2-distro-mutex 0.1.0 galactic robostack-experimental rosdistro 0.8.3 py38haa244fe_3 conda-forge rospkg 1.3.0 pyhd8ed1ab_1 conda-forge sdl2 2.0.18 h0e60522_0 conda-forge setuptools 60.5.0 py38haa244fe_0 conda-forge six 1.16.0 pyh6c4a22f_0 conda-forge snowballstemmer 2.2.0 pyhd8ed1ab_0 conda-forge spdlog 1.9.2 h2d74725_0 conda-forge sqlite 3.37.0 h8ffe710_0 conda-forge tbb 2020.2 h2d74725_4 conda-forge tbb-devel 2020.2 h2d74725_4 conda-forge tinyxml 2.6.2 h2d74725_2 conda-forge tinyxml2 9.0.0 h0e60522_2 conda-forge tk 8.6.11 h8ffe710_1 conda-forge toml 0.10.2 pyhd8ed1ab_0 conda-forge ucrt 10.0.20348.0 h57928b3_0 conda-forge uncrustify 0.72.0 h57928b3_0 conda-forge unicodedata2 14.0.0 py38h294d835_0 conda-forge utfcpp 3.2.1 h57928b3_0 conda-forge vc 14.2 hb210afc_6 conda-forge vs2015_runtime 14.29.30037 h902a5da_6 conda-forge vtk 9.0.1 qt_py38h5b6aec5_210 conda-forge wheel 0.37.1 pyhd8ed1ab_0 conda-forge win32_setctime 1.0.4 pyhd8ed1ab_0 conda-forge xorg-kbproto 1.0.7 hcd874cb_1002 conda-forge xorg-libice 1.0.10 hcd874cb_0 conda-forge xorg-libsm 1.2.3 hcd874cb_1000 conda-forge xorg-libx11 1.7.2 hcd874cb_0 conda-forge xorg-libxau 1.0.9 hcd874cb_0 conda-forge xorg-libxdmcp 1.1.3 hcd874cb_0 conda-forge xorg-libxext 1.3.4 hcd874cb_1 conda-forge xorg-libxpm 3.5.13 hcd874cb_0 conda-forge xorg-libxt 1.2.1 hcd874cb_2 conda-forge xorg-xextproto 7.3.0 hcd874cb_1002 conda-forge xorg-xproto 7.0.31 hcd874cb_1007 conda-forge xz 5.2.5 h62dcd97_1 conda-forge yaml 0.2.5 h8ffe710_2 conda-forge yaml-cpp 0.6.3 ha925a31_4 conda-forge zipp 3.7.0 pyhd8ed1ab_0 conda-forge zlib 1.2.11 h8ffe710_1013 conda-forge zstd 1.5.1 h6255e5f_0 conda-forge zziplib 0.13.69 h1d00b33_1 conda-forge ```


Details about conda and system ( conda info ):

``` $ conda info (ros2) C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2>conda info active environment : ros2 active env location : C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2 shell level : 1 user config file : C:\Users\STraversaro\.condarc populated config files : C:\Users\STraversaro\AppData\Local\mambaforge\.condarc C:\Users\STraversaro\.condarc conda version : 4.10.3 conda-build version : not installed python version : 3.9.7.final.0 virtual packages : __cuda=11.6=0 __win=0=0 __archspec=1=x86_64 base environment : C:\Users\STraversaro\AppData\Local\mambaforge (writable) conda av data dir : C:\Users\STraversaro\AppData\Local\mambaforge\etc\conda conda av metadata url : None channel URLs : https://conda.anaconda.org/conda-forge/win-64 https://conda.anaconda.org/conda-forge/noarch package cache : C:\Users\STraversaro\AppData\Local\mambaforge\pkgs C:\Users\STraversaro\.conda\pkgs C:\Users\STraversaro\AppData\Local\conda\conda\pkgs envs directories : C:\Users\STraversaro\AppData\Local\mambaforge\envs C:\Users\STraversaro\.conda\envs C:\Users\STraversaro\AppData\Local\conda\conda\envs platform : win-64 user-agent : conda/4.10.3 requests/2.26.0 CPython/3.9.7 Windows/10 Windows/10.0.22000 administrator : False netrc file : None offline mode : False ```
traversaro commented 2 years ago

The main problem is that the executable/scripts of ros-galactic-demo-nodes-py packages get installed in %CONDA_PREFIX%\Library\bin, meaning that they can be executed directly, i.e.:

demo_talker

works, but they are not found by ros2 run demo_nodes_py <executable> as this command would searches for the commands in %CONDA_PREFIX%\Library\lib (see https://github.com/ros2/ros2cli/blob/0.16.1/ros2pkg/ros2pkg/api/__init__.py#L44).

So the problem seems related to the installation process of demo_nodes_py and why it install the scripts in the wrong location.

traversaro commented 2 years ago

Interestingly, on Linux and macOS the scripts are installed in the correct location, i.e. $CONDA_PREFIX/lib/demo_nodes_py.

wolfv commented 2 years ago

Yeah, Windows is unfortunately "special" in that the "unix" prefix is in $CONDA_PREFIX\Library\...

The Library\bin folder should regularly be on the %PATH% (when activate -> https://github.com/mamba-org/mamba/blob/d4acbf7dc3d4743c805e8b9085033703f823b9d6/libmamba/src/core/activation.cpp#L180-L185) but maybe ROS has a special way of looking for the executables?

traversaro commented 2 years ago

Yeah, Windows is unfortunately "special" in that the "unix" prefix is in $CONDA_PREFIX\Library\...

The problem is not the usual special <install_prefix> on Windows. The issue is that on Linux/macOS the executables/scripts are installed in <install_prefix>/lib/demo_nodes_py (correct location), while on Windows they are in <install_prefix>/bin (wrong location). This is not directly related to what <install_prefix> is on Windows or *nix. These kind of executables are intentionally meant not be on the path, and to be accessible only via ros2 run, that looks in <install_prefix>/lib/<pkg_name>.

traversaro commented 2 years ago

By the way, I just tried to build via colcon build the latest commit of demo_nodes_py package on Windows, and indeed they executables are correctly installed in <install_prefix>/lib/<pkg_name>.

Tobias-Fischer commented 2 years ago

Hm is there anything wrong in https://github.com/RoboStack/vinca/blob/master/vinca/templates/bld_ament_python.bat.in?

Tobias-Fischer commented 2 years ago

Also, does it just happen for python packages, or also for C++ packages (e.g. demo_nodes_cpp)?

traversaro commented 2 years ago

Also, does it just happen for python packages, or also for C++ packages (e.g. demo_nodes_cpp)?

C++ packages are fine, ros2 run demo_nodes_cpp talker works fine and you can check manually that the executables are installed in <install_prefix>/lib/demo_nodes_cpp.

traversaro commented 2 years ago

Hm is there anything wrong in https://github.com/RoboStack/vinca/blob/master/vinca/templates/bld_ament_python.bat.in?

The --install-scripts= option indeed seems to be quite related. By the way, the .sh variant of the same script seems to be quite different: https://github.com/RoboStack/vinca/blob/6777295bc3c140abf0d8ba518b9123050c5c28df/vinca/templates/build_ament_python.sh.in .

Tobias-Fischer commented 2 years ago

Hm we could just try building the demo-nodes-py package with the same pip command as in the sh .. ?

Tobias-Fischer commented 2 years ago

I rebuilt the demo-nodes-py package using the pip https://github.com/RoboStack/vinca/commit/23c0dda5298b3e25e68466b6b2732114c0263fac: https://anaconda.org/robostack-experimental/ros-galactic-demo-nodes-py/0.14.3/download/win-64/ros-galactic-demo-nodes-py-0.14.3-py38hae75d3f_1.tar.bz2

Does that look better? (by the way, sorry, I overwrote the previous version ..)

Tobias-Fischer commented 2 years ago

Looks like the executables are now in Library\lib :)

traversaro commented 2 years ago

I just tested, and I still get:

(ros2ws4) C:\>ros2 run demo_nodes_py demo_talker
No executable found

Looks like the executables are now in Library\lib :)

Ah, I see. The problem is that the executables should be in Library\lib\demo_nodes_py . Perhaps https://github.com/RoboStack/vinca/pull/28 could help?

Tobias-Fischer commented 2 years ago

Reopening here until we know it's actually fixed

traversaro commented 2 years ago

Ops! Now executables are installed in Library\lib\ros-galactic-demo-nodes-py, but they should be installed Library\lib\demo_nodes_py.

Tobias-Fischer commented 2 years ago

Looks like it's working now :)

Tobias-Fischer commented 2 years ago

Still leaving it open as it needs a rebuild of probably all windows packages.

traversaro commented 2 years ago

I double checked and not indeed it works fine:

(ros2) C:\Users\STraversaro>ros2 run demo_nodes_py demo_talker
[INFO] [1642849699.319292400] [talker]: Publishing: "Hello World: 0"
[INFO] [1642849700.186619500] [talker]: Publishing: "Hello World: 1"
[INFO] [1642849701.185644300] [talker]: Publishing: "Hello World: 2"
Tobias-Fischer commented 2 years ago

Hmm .. now we are running into new issues because of this:

CMake Error at C:/bld/ros-galactic-foonathan-memory-vendor_1643229794134/_h_env/Library/share/ament_cmake_copyright/cmake/ament_copyright.cmake:38 (message):
  ament_copyright() could not find program 'ament_copyright'

Which comes from

  find_program(ament_copyright_BIN NAMES "ament_copyright")
  if(NOT ament_copyright_BIN)
    message(FATAL_ERROR "ament_copyright() could not find program 'ament_copyright'")
  endif()

So we either have to figure out which package executables should not be installed in lib/package-name, or fix the cmake to also look in lib/package-name. I'm not sure whether ament_copyright is going to be the only package which is affected - I am guessing ament_linter and whatever else is out there might also be affected.

Any ideas @wolfv @traversaro?

wolfv commented 2 years ago

Maybe we can also ping @ooeygui and @nuclearsandwich ... maybe they know how to identify the packages where the executable should end up in lib vs. bin?

wolfv commented 2 years ago

Hmm, I am wondering, what happens if we don't give that command line argument at all?

traversaro commented 2 years ago

We can also check what colcon or bloom are doing, at least in the demo_nodes_py it was doing the right thing with no additional options.

wolfv commented 2 years ago

Yeah, I was just digging more into it ... some packages have a setup.cfg file:

https://github.com/ros2/demos/blob/master/demo_nodes_py/setup.cfg

That seems to give an argument for the install_script argument that we pass manually. It's also found in this test package: https://github.com/colcon/colcon-bundle/blob/84dd04d238fa2699b7c804e51733bad4b9aed29e/integration/ros2_workspace/src/test_py_package/setup.cfg

In ament_lint we don't find that setup.cfg file: https://github.com/ament/ament_lint/tree/master/ament_copyright

I didn't find anything in the ms-iot pipelines and I also didn't find anything more in colcon so far. They do some setup.py introspection but nothing that changes the --install-scripts arguments as far as I can see (https://github.com/colcon/colcon-python-setup-py/tree/master/colcon_python_setup_py)

So maybe not setting anything is the solution?

nuclearsandwich commented 2 years ago

Maybe we can also ping @ooeygui and @nuclearsandwich ... maybe they know how to identify the packages where the executable should end up in lib vs. bin?

In order to get the scripts into the /opt/ros/bin directory our bloom templates usually override the install_scripts dir for python packages. However when a package is designed to use the ros2run/libexec pattern they use the same mechanism to set the install_scripts to the libexec dir in setup.cfg. Bloom is configured to look for this:

https://github.com/ros-infrastructure/bloom/blob/ab8ebb8ce2503801054f4a34137a3aec3a843ad7/bloom/generators/debian/generator.py#L395-L398

and only override the setting via pybuild if there's none configured in setup.cfg. https://github.com/ros-infrastructure/bloom/blob/ab8ebb8ce2503801054f4a34137a3aec3a843ad7/bloom/generators/debian/templates/ament_python/rules.em#L24

Tobias-Fischer commented 2 years ago

Ah, interesting, thanks for this @nuclearsandwich! The remaining code of interest: https://github.com/ros-infrastructure/bloom/blob/53beb5284fbe7b453af7cad3ef62d159168862bf/bloom/generators/debian/generator.py#L395-L406

So we need to check whether a setup.cfg exists and an install option is specified. A bit trickier with vinca, as we neither have access to the source files at this stage, and use a bash script instead of python. Any ideas @wolfv?

wolfv commented 2 years ago

I guess we need to get our bash-foo going :)

On Linux / macOS we could try something like

INSTALL_SCRIPTS_ARG=--install-scripts=$PREFIX/lib
if grep -q "install[-_]scripts" setup.cfg; then
  INSTALL_SCRIPTS_ARG=""
fi
echo "ARG: $INSTALL_SCRIPTS_ARG"

On Windows I think we can use findstr. Going to figure that out now :)

wolfv commented 2 years ago

On Windows, this should work:

set "INSTALL_SCRIPTS_ARG=--install-scripts=%_LIBRARY_PREFIX_PATH%\lib"
findstr install[-_]scripts setup.cfg
if %errorlevel% == 0 (
  set INSTALL_SCRIPTS_ARG=""
)
echo %INSTALL_SCRIPTS_ARG%
Tobias-Fischer commented 2 years ago

Needs https://github.com/RoboStack/vinca/pull/29 & #75

Tobias-Fischer commented 2 years ago

Hopefully fixed with the latest rebuild, to be confirmed though

traversaro commented 2 years ago

demo-nodes-py still needs to be rebuilt:

mamba create -n ros_galactic ros-galactic-demo-nodes-py python=3.9 -c robostack-experimental -c conda-forge --no-channel-priority --override-channels
Encountered problems while solving:
  - package ros-galactic-demo-nodes-py-0.14.3-py38hae75d3f_0 requires python_abi 3.8.*, but none of the providers can <..>

https://anaconda.org/robostack-experimental/ros-galactic-demo-nodes-py/files

traversaro commented 2 years ago

The executable is now correctly found, but another error emerged:

ros2 run demo_nodes_py demo_talker
(ros2) C:\Users\STraversaro>ros2 run demo_nodes_py demo_talker
Traceback (most recent call last):
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Library\lib\demo_nodes_py\demo_talker-script.py", line 33, in <module>
    sys.exit(load_entry_point('demo-nodes-py==0.14.3', 'console_scripts', 'demo_talker')())
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Library\lib\demo_nodes_py\demo_talker-script.py", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\lib\importlib\metadata.py", line 86, in load
    module = import_module(match.group('module'))
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Lib\site-packages\demo_nodes_py\topics\talker.py", line 16, in <module>
    from rclpy.node import Node
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Lib\site-packages\rclpy\node.py", line 43, in <module>
    from rclpy.client import Client
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Lib\site-packages\rclpy\client.py", line 22, in <module>
    from rclpy.impl.implementation_singleton import rclpy_implementation as _rclpy
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Lib\site-packages\rclpy\impl\implementation_singleton.py", line 32, in <module>
    rclpy_implementation = import_c_library('._rclpy_pybind11', package)
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Lib\site-packages\rpyutils\import_c_library.py", line 39, in import_c_library
    return importlib.import_module(name, package=package)
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'rclpy._rclpy_pybind11'
The C extension 'C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Lib\site-packages\_rclpy_pybind11.cp39-win_amd64.pyd' isn't present on the system. Please refer to 'https://index.ros.org/doc/ros2/Troubleshooting/Installation-Troubleshooting/#import-failing-without-library-present-on-the-system' for possible solutions

Environment created with:

mamba create -n ros2 -c conda-forge -c robostack-experimental ros-galactic-desktop
traversaro commented 2 years ago

The problem can be reproduced more easily without any use of ros2 run:

(ros2) C:\Users\STraversaro>python -c "from rclpy.node import Node"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Lib\site-packages\rclpy\node.py", line 43, in <module>
    from rclpy.client import Client
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Lib\site-packages\rclpy\client.py", line 22, in <module>
    from rclpy.impl.implementation_singleton import rclpy_implementation as _rclpy
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Lib\site-packages\rclpy\impl\implementation_singleton.py", line 32, in <module>
    rclpy_implementation = import_c_library('._rclpy_pybind11', package)
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Lib\site-packages\rpyutils\import_c_library.py", line 39, in import_c_library
    return importlib.import_module(name, package=package)
  File "C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'rclpy._rclpy_pybind11'
The C extension 'C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2\Lib\site-packages\_rclpy_pybind11.cp39-win_amd64.pyd' isn't present on the system. Please refer to 'https://index.ros.org/doc/ros2/Troubleshooting/Installation-Troubleshooting/#import-failing-without-library-present-on-the-system' for possible solutions

So it could be considered a different issue.

traversaro commented 2 years ago

With the workaround in https://github.com/RoboStack/ros-galactic/issues/96#issuecomment-1086014185, the node finally starts fine:

(ros2) C:\Users\STraversaro>ros2 run demo_nodes_py demo_talker
[INFO] [1648825676.436909000] [talker]: Publishing: "Hello World: 0"
[INFO] [1648825677.348159400] [talker]: Publishing: "Hello World: 1"
[INFO] [1648825678.347715300] [talker]: Publishing: "Hello World: 2"
[INFO] [1648825679.359195500] [talker]: Publishing: "Hello World: 3"

and so on so forth

Tobias-Fischer commented 2 years ago

See #96 instead as this issue is resolved

traversaro commented 2 years ago

Finally working fine after fixing https://github.com/RoboStack/ros-galactic/issues/96 :

(ros2) C:\Users\STraversaro>ros2 run demo_nodes_py demo_talker
[INFO] [1648985579.630156000] [talker]: Publishing: "Hello World: 0"
[INFO] [1648985580.556038200] [talker]: Publishing: "Hello World: 1"
[INFO] [1648985581.542916100] [talker]: Publishing: "Hello World: 2"
[INFO] [1648985582.546812300] [talker]: Publishing: "Hello World: 3"
Full Environmentmamba list # packages in environment at C:\Users\STraversaro\AppData\Local\mambaforge\envs\ros2: # # Name Version Build Channel argcomplete 2.0.0 pyhd8ed1ab_0 conda-forge assimp 5.2.3 hc2aa0de_1 conda-forge atomicwrites 1.4.0 pyh9f0ad1d_0 conda-forge attrs 21.4.0 pyhd8ed1ab_0 conda-forge boost 1.74.0 py39hefe7e4c_5 conda-forge boost-cpp 1.74.0 h9f4b32c_8 conda-forge brotli 1.0.9 h8ffe710_7 conda-forge brotli-bin 1.0.9 h8ffe710_7 conda-forge bullet 3.21 h832f523_1 conda-forge bullet-cpp 3.21 h2e25243_1 conda-forge bzip2 1.0.8 h8ffe710_4 conda-forge ca-certificates 2021.10.8 h5b45459_0 conda-forge cairo 1.16.0 h15b3021_1010 conda-forge catkin_pkg 0.4.24 pyhd8ed1ab_1 conda-forge certifi 2021.10.8 py39hcbf5309_2 conda-forge cffi 1.15.0 py39h0878f49_0 conda-forge cmake 3.23.0 h39d44d4_1 conda-forge colorama 0.4.4 pyh9f0ad1d_0 conda-forge console_bridge 1.0.2 h5362a0b_1 conda-forge cppcheck 2.6.2 py39hd48a9a8_0 conda-forge cryptography 36.0.2 py39h7bc7c5c_0 conda-forge curl 7.82.0 h789b8ee_0 conda-forge cycler 0.11.0 pyhd8ed1ab_0 conda-forge distro 1.6.0 pyhd8ed1ab_0 conda-forge docutils 0.18.1 py39hcbf5309_1 conda-forge double-conversion 3.2.0 h0e60522_0 conda-forge eigen 3.4.0 h2d74725_0 conda-forge empy 3.3.4 pyh9f0ad1d_1 conda-forge expat 2.4.8 h39d44d4_0 conda-forge ffmpeg 4.3.1 ha925a31_0 conda-forge flake8 4.0.1 pyhd8ed1ab_2 conda-forge flann 1.9.1 h075982a_1010 conda-forge font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge font-ttf-inconsolata 3.000 h77eed37_0 conda-forge font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge font-ttf-ubuntu 0.83 hab24e00_0 conda-forge fontconfig 2.13.96 hce3cb01_2 conda-forge fonts-conda-ecosystem 1 0 conda-forge fonts-conda-forge 1 0 conda-forge fonttools 4.31.2 py39hb82d6ee_0 conda-forge foonathan-memory 0.7.1 h57928b3_0 conda-forge freeglut 3.2.2 h0e60522_1 conda-forge freeimage 3.18.0 hfcb8cd7_7 conda-forge freetype 2.10.4 h546665d_1 conda-forge fribidi 1.0.10 h8d14728_0 conda-forge getopt-win32 0.1 h8ffe710_0 conda-forge gettext 0.19.8.1 ha2e2712_1008 conda-forge gl2ps 1.4.2 h0597ee9_0 conda-forge glew 2.1.0 h39d44d4_2 conda-forge gmock 1.11.0 h2d74725_0 conda-forge graphite2 1.3.13 1000 conda-forge graphviz 3.0.0 had6c3a3_1 conda-forge gtest 1.11.0 h2d74725_0 conda-forge gts 0.7.6 h7c369d9_2 conda-forge harfbuzz 4.2.0 hc1763ed_0 conda-forge hdf4 4.2.15 h0e5069d_3 conda-forge hdf5 1.12.1 nompi_h2a0e4a3_104 conda-forge icu 69.1 h0e60522_0 conda-forge ifcfg 0.21 py_0 conda-forge ilmbase 2.5.5 h12d4b20_0 conda-forge importlib-metadata 4.11.3 py39hcbf5309_1 conda-forge importlib_metadata 4.11.3 hd8ed1ab_1 conda-forge importlib_resources 5.6.0 pyhd8ed1ab_0 conda-forge iniconfig 1.1.1 pyh9f0ad1d_0 conda-forge intel-openmp 2022.0.0 h57928b3_3663 conda-forge jasper 2.0.33 h77af90b_0 conda-forge jbig 2.1 h8d14728_2003 conda-forge jpeg 9e h8ffe710_0 conda-forge jsoncpp 1.9.5 h2d74725_1 conda-forge jxrlib 1.1 h8ffe710_2 conda-forge kiwisolver 1.4.2 py39h2e07f2f_1 conda-forge krb5 1.19.3 h1176d77_0 conda-forge lark-parser 0.12.0 pyhd8ed1ab_0 conda-forge lcms2 2.12 h2a16943_0 conda-forge lerc 3.0 h0e60522_0 conda-forge libblas 3.9.0 13_win64_mkl conda-forge libbrotlicommon 1.0.9 h8ffe710_7 conda-forge libbrotlidec 1.0.9 h8ffe710_7 conda-forge libbrotlienc 1.0.9 h8ffe710_7 conda-forge libcblas 3.9.0 13_win64_mkl conda-forge libclang 13.0.1 default_h81446c8_0 conda-forge libcurl 7.82.0 h789b8ee_0 conda-forge libdeflate 1.10 h8ffe710_0 conda-forge libffi 3.4.2 h8ffe710_5 conda-forge libgd 2.3.3 h217ff3b_2 conda-forge libglib 2.70.2 h3be07f2_4 conda-forge libiconv 1.16 he774522_0 conda-forge liblapack 3.9.0 13_win64_mkl conda-forge liblapacke 3.9.0 13_win64_mkl conda-forge libnetcdf 4.8.1 nompi_h1cc8e9d_101 conda-forge libogg 1.3.4 h8ffe710_1 conda-forge libopencv 4.5.5 py39h606fa8f_7 conda-forge libpng 1.6.37 h1d00b33_2 conda-forge libprotobuf 3.19.4 h7755175_0 conda-forge libraw 0.20.2 hee1bdec_1 conda-forge libssh2 1.10.0 h680486a_2 conda-forge libtheora 1.1.1 h8d14728_1005 conda-forge libtiff 4.3.0 hc4061b1_3 conda-forge libwebp 1.2.2 h57928b3_0 conda-forge libwebp-base 1.2.2 h8ffe710_1 conda-forge libxcb 1.13 hcd874cb_1004 conda-forge libxml2 2.9.12 hf5bbc77_2 conda-forge libxslt 1.1.33 h34f844d_4 conda-forge libzip 1.8.0 hfed4ece_1 conda-forge libzlib 1.2.11 h8ffe710_1014 conda-forge loguru 0.5.3 py39hcbf5309_3 conda-forge lxml 4.8.0 py39hb82d6ee_1 conda-forge lz4-c 1.9.3 h8ffe710_1 conda-forge m2w64-gcc-libgfortran 5.3.0 6 conda-forge m2w64-gcc-libs 5.3.0 7 conda-forge m2w64-gcc-libs-core 5.3.0 7 conda-forge m2w64-gmp 6.1.0 2 conda-forge m2w64-libwinpthread-git 5.0.0.4634.697f757 2 conda-forge matplotlib-base 3.5.1 py39h581301d_0 conda-forge mccabe 0.6.1 py_1 conda-forge mkl 2022.0.0 h0e2418a_796 conda-forge mock 4.0.3 py39hcbf5309_2 conda-forge msys2-conda-epoch 20160418 1 conda-forge munkres 1.1.4 pyh9f0ad1d_0 conda-forge netifaces 0.10.9 py39hb82d6ee_1005 conda-forge numpy 1.22.3 py39h6331f09_0 conda-forge ogre 1.12.13 h0650132_0 conda-forge openexr 2.5.5 hab3b255_0 conda-forge openjpeg 2.4.0 hb211442_1 conda-forge openssl 1.1.1n h8ffe710_0 conda-forge packaging 21.3 pyhd8ed1ab_0 conda-forge pango 1.50.6 h66df5b2_0 conda-forge pcl 1.12.0 h8e4b9db_2 conda-forge pcre 8.45 h0e60522_0 conda-forge pillow 9.1.0 py39ha53f419_0 conda-forge pip 22.0.4 pyhd8ed1ab_0 conda-forge pixman 0.40.0 h8ffe710_0 conda-forge pkg-config 0.29.2 h2bf4dc2_1008 conda-forge pluggy 1.0.0 py39hcbf5309_3 conda-forge proj 9.0.0 h1cfcee9_1 conda-forge psutil 5.9.0 py39hb82d6ee_1 conda-forge pthread-stubs 0.4 hcd874cb_1001 conda-forge pugixml 1.11.4 h0e60522_0 conda-forge py 1.11.0 pyh6c4a22f_0 conda-forge py-opencv 4.5.5 py39h832f523_7 conda-forge pybind11 2.9.2 py39h2e07f2f_1 conda-forge pybind11-global 2.9.2 py39h2e07f2f_1 conda-forge pybullet 3.21 py39h2e25243_1 conda-forge pycairo 1.21.0 py39h1f09dad_1 conda-forge pycodestyle 2.8.0 pyhd8ed1ab_0 conda-forge pycparser 2.21 pyhd8ed1ab_0 conda-forge pydocstyle 6.1.1 pyhd8ed1ab_0 conda-forge pydot 1.4.2 py39hcbf5309_1 conda-forge pyflakes 2.4.0 pyhd8ed1ab_0 conda-forge pygments 2.11.2 pyhd8ed1ab_0 conda-forge pyparsing 3.0.7 pyhd8ed1ab_0 conda-forge pyqt 5.12.3 py39hcbf5309_8 conda-forge pyqt-builder 1.12.2 pyhd8ed1ab_3 conda-forge pyqt-impl 5.12.3 py39h415ef7b_8 conda-forge pyqt5-sip 4.19.18 py39h415ef7b_8 conda-forge pyqtchart 5.12 py39h415ef7b_8 conda-forge pyqtwebengine 5.12.1 py39h415ef7b_8 conda-forge pytest 7.1.1 py39hcbf5309_1 conda-forge python 3.9.12 h9a09f29_1_cpython conda-forge python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge python_abi 3.9 2_cp39 conda-forge pyyaml 6.0 py39hb82d6ee_4 conda-forge qhull 2020.2 h70d2c02_2 conda-forge qt 5.12.9 h556501e_6 conda-forge ros-galactic-action-msgs 1.0.3 py39ha598a99_3 robostack-experimental ros-galactic-action-tutorials-cpp 0.14.3 py39he8739fe_3 robostack-experimental ros-galactic-action-tutorials-interfaces 0.14.3 py39ha598a99_3 robostack-experimental ros-galactic-action-tutorials-py 0.14.3 py39h4c0ac80_3 robostack-experimental ros-galactic-actionlib-msgs 2.2.4 py39ha598a99_3 robostack-experimental ros-galactic-ament-cmake 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-auto 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-copyright 0.10.6 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-core 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-cppcheck 0.10.6 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-cpplint 0.10.6 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-export-definitions 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-export-dependencies 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-export-include-directories 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-export-interfaces 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-export-libraries 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-export-link-flags 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-export-targets 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-flake8 0.10.6 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-gmock 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-gtest 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-include-directories 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-libraries 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-lint-cmake 0.10.6 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-pep257 0.10.6 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-pytest 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-python 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-ros 0.9.2 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-target-dependencies 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-test 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-uncrustify 0.10.6 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-version 1.1.5 py39he8739fe_3 robostack-experimental ros-galactic-ament-cmake-xmllint 0.10.6 py39he8739fe_3 robostack-experimental ros-galactic-ament-copyright 0.10.6 py39h4c0ac80_3 robostack-experimental ros-galactic-ament-cppcheck 0.10.6 py39h4c0ac80_3 robostack-experimental ros-galactic-ament-cpplint 0.10.6 py39h4c0ac80_3 robostack-experimental ros-galactic-ament-flake8 0.10.6 py39h4c0ac80_3 robostack-experimental ros-galactic-ament-index-cpp 1.2.0 py39he8739fe_3 robostack-experimental ros-galactic-ament-index-python 1.2.0 py39h4c0ac80_3 robostack-experimental ros-galactic-ament-lint 0.10.6 py39h4c0ac80_3 robostack-experimental ros-galactic-ament-lint-auto 0.10.6 py39he8739fe_3 robostack-experimental ros-galactic-ament-lint-cmake 0.10.6 py39h4c0ac80_3 robostack-experimental ros-galactic-ament-lint-common 0.10.6 py39he8739fe_3 robostack-experimental ros-galactic-ament-package 0.13.1 py39h4c0ac80_3 robostack-experimental ros-galactic-ament-pep257 0.10.6 py39h4c0ac80_3 robostack-experimental ros-galactic-ament-uncrustify 0.10.6 py39h4c0ac80_3 robostack-experimental ros-galactic-ament-xmllint 0.10.6 py39h4c0ac80_3 robostack-experimental ros-galactic-angles 1.12.4 py39h4c0ac80_3 robostack-experimental ros-galactic-builtin-interfaces 1.0.3 py39ha598a99_3 robostack-experimental ros-galactic-class-loader 2.1.2 py39h03a1d73_3 robostack-experimental ros-galactic-common-interfaces 2.2.4 py39he8739fe_3 robostack-experimental ros-galactic-composition 0.14.3 py39he8739fe_3 robostack-experimental ros-galactic-composition-interfaces 1.0.3 py39ha598a99_3 robostack-experimental ros-galactic-console-bridge-vendor 1.3.2 py39h03a1d73_3 robostack-experimental ros-galactic-cv-bridge 2.2.1 py39h6f467b3_3 robostack-experimental ros-galactic-demo-nodes-cpp 0.14.3 py39he8739fe_3 robostack-experimental ros-galactic-demo-nodes-cpp-native 0.14.3 py39he8739fe_3 robostack-experimental ros-galactic-demo-nodes-py 0.14.3 py39h4c0ac80_3 robostack-experimental ros-galactic-depthimage-to-laserscan 2.3.1 py39h04a95f2_3 robostack-experimental ros-galactic-desktop 0.9.3 py39he8739fe_3 robostack-experimental ros-galactic-diagnostic-msgs 2.2.4 py39ha598a99_3 robostack-experimental ros-galactic-domain-coordinator 0.9.2 py39h4c0ac80_3 robostack-experimental ros-galactic-dummy-map-server 0.14.3 py39he8739fe_3 robostack-experimental ros-galactic-dummy-robot-bringup 0.14.3 py39he8739fe_3 robostack-experimental ros-galactic-dummy-sensors 0.14.3 py39he8739fe_3 robostack-experimental ros-galactic-eigen3-cmake-module 0.1.1 py39he8739fe_3 robostack-experimental ros-galactic-example-interfaces 0.9.2 py39ha598a99_3 robostack-experimental ros-galactic-examples-rclcpp-minimal-action-client 0.11.2 py39he8739fe_3 robostack-experimental ros-galactic-examples-rclcpp-minimal-action-server 0.11.2 py39he8739fe_3 robostack-experimental ros-galactic-examples-rclcpp-minimal-client 0.11.2 py39he8739fe_3 robostack-experimental ros-galactic-examples-rclcpp-minimal-composition 0.11.2 py39he8739fe_3 robostack-experimental ros-galactic-examples-rclcpp-minimal-publisher 0.11.2 py39he8739fe_3 robostack-experimental ros-galactic-examples-rclcpp-minimal-service 0.11.2 py39he8739fe_3 robostack-experimental ros-galactic-examples-rclcpp-minimal-subscriber 0.11.2 py39he8739fe_3 robostack-experimental ros-galactic-examples-rclcpp-minimal-timer 0.11.2 py39he8739fe_3 robostack-experimental ros-galactic-examples-rclcpp-multithreaded-executor 0.11.2 py39he8739fe_3 robostack-experimental ros-galactic-examples-rclpy-executors 0.11.2 py39h4c0ac80_3 robostack-experimental ros-galactic-examples-rclpy-minimal-action-client 0.11.2 py39h4c0ac80_3 robostack-experimental ros-galactic-examples-rclpy-minimal-action-server 0.11.2 py39h4c0ac80_3 robostack-experimental ros-galactic-examples-rclpy-minimal-client 0.11.2 py39h4c0ac80_3 robostack-experimental ros-galactic-examples-rclpy-minimal-publisher 0.11.2 py39h4c0ac80_3 robostack-experimental ros-galactic-examples-rclpy-minimal-service 0.11.2 py39h4c0ac80_3 robostack-experimental ros-galactic-examples-rclpy-minimal-subscriber 0.11.2 py39h4c0ac80_3 robostack-experimental ros-galactic-fastcdr 1.0.20 py39he8739fe_3 robostack-experimental ros-galactic-fastrtps 2.3.4 py39hf2f0fb7_3 robostack-experimental ros-galactic-fastrtps-cmake-module 1.2.1 py39he8739fe_3 robostack-experimental ros-galactic-foonathan-memory-vendor 1.2.0 py39he8739fe_3 robostack-experimental ros-galactic-geometry-msgs 2.2.4 py39ha598a99_3 robostack-experimental ros-galactic-geometry2 0.17.2 py39he8739fe_3 robostack-experimental ros-galactic-gmock-vendor 1.10.9003 py39he8739fe_3 robostack-experimental ros-galactic-gtest-vendor 1.10.9003 py39he8739fe_3 robostack-experimental ros-galactic-image-geometry 2.2.1 py39h04a95f2_3 robostack-experimental ros-galactic-image-tools 0.14.3 py39h04a95f2_3 robostack-experimental ros-galactic-image-transport 2.3.0 py39he8739fe_3 robostack-experimental ros-galactic-interactive-markers 2.2.0 py39he8739fe_3 robostack-experimental ros-galactic-intra-process-demo 0.14.3 py39h04a95f2_3 robostack-experimental ros-galactic-joy 3.0.1 py39he8739fe_3 robostack-experimental ros-galactic-kdl-parser 2.5.0 py39he8739fe_3 robostack-experimental ros-galactic-laser-geometry 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-launch 0.17.0 py39h4c0ac80_3 robostack-experimental ros-galactic-launch-ros 0.14.2 py39h4c0ac80_3 robostack-experimental ros-galactic-launch-testing 0.17.0 py39h4c0ac80_3 robostack-experimental ros-galactic-launch-testing-ament-cmake 0.17.0 py39he8739fe_3 robostack-experimental ros-galactic-launch-testing-ros 0.14.2 py39h4c0ac80_3 robostack-experimental ros-galactic-launch-xml 0.17.0 py39h4c0ac80_3 robostack-experimental ros-galactic-launch-yaml 0.17.0 py39h4c0ac80_3 robostack-experimental ros-galactic-libcurl-vendor 2.5.0 py39h93283aa_3 robostack-experimental ros-galactic-libstatistics-collector 1.1.1 py39ha598a99_3 robostack-experimental ros-galactic-libyaml-vendor 1.2.0 py39he8739fe_3 robostack-experimental ros-galactic-lifecycle 0.14.3 py39he8739fe_3 robostack-experimental ros-galactic-lifecycle-msgs 1.0.3 py39ha598a99_3 robostack-experimental ros-galactic-logging-demo 0.14.3 py39ha598a99_3 robostack-experimental ros-galactic-map-msgs 2.1.0 py39ha598a99_3 robostack-experimental ros-galactic-message-filters 3.2.6 py39he8739fe_3 robostack-experimental ros-galactic-nav-msgs 2.2.4 py39ha598a99_3 robostack-experimental ros-galactic-orocos-kdl 3.3.3 py39he8739fe_3 robostack-experimental ros-galactic-osrf-pycommon 2.0.0 py39h4c0ac80_3 robostack-experimental ros-galactic-pcl-conversions 2.3.2 py39h2967a58_3 robostack-experimental ros-galactic-pcl-msgs 1.0.0 py39ha598a99_3 robostack-experimental ros-galactic-pendulum-msgs 0.14.3 py39ha598a99_3 robostack-experimental ros-galactic-pluginlib 5.0.0 py39he8739fe_3 robostack-experimental ros-galactic-pybind11-vendor 2.2.6 py39he8739fe_3 robostack-experimental ros-galactic-python-cmake-module 0.8.1 py39he8739fe_3 robostack-experimental ros-galactic-python-qt-binding 1.0.8 py39he8739fe_3 robostack-experimental ros-galactic-qt-dotgraph 2.0.1 py39he8739fe_3 robostack-experimental ros-galactic-qt-gui 2.0.1 py39he8739fe_3 robostack-experimental ros-galactic-qt-gui-cpp 2.0.1 py39he8739fe_3 robostack-experimental ros-galactic-qt-gui-py-common 2.0.1 py39he8739fe_3 robostack-experimental ros-galactic-quality-of-service-demo-cpp 0.14.3 py39he8739fe_3 robostack-experimental ros-galactic-quality-of-service-demo-py 0.14.3 py39h4c0ac80_3 robostack-experimental ros-galactic-rcl 3.1.2 py39he8739fe_3 robostack-experimental ros-galactic-rcl-action 3.1.2 py39he8739fe_3 robostack-experimental ros-galactic-rcl-interfaces 1.0.3 py39ha598a99_3 robostack-experimental ros-galactic-rcl-lifecycle 3.1.2 py39he8739fe_3 robostack-experimental ros-galactic-rcl-logging-interface 2.1.2 py39he8739fe_3 robostack-experimental ros-galactic-rcl-logging-spdlog 2.1.2 py39h985731a_3 robostack-experimental ros-galactic-rcl-yaml-param-parser 3.1.2 py39he8739fe_3 robostack-experimental ros-galactic-rclcpp 9.2.0 py39ha598a99_3 robostack-experimental ros-galactic-rclcpp-action 9.2.0 py39he8739fe_3 robostack-experimental ros-galactic-rclcpp-components 9.2.0 py39he8739fe_3 robostack-experimental ros-galactic-rclcpp-lifecycle 9.2.0 py39he8739fe_3 robostack-experimental ros-galactic-rclpy 1.9.0 py39ha598a99_4 robostack-experimental ros-galactic-rcpputils 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rcutils 4.0.2 py39he8739fe_3 robostack-experimental ros-galactic-resource-retriever 2.5.0 py39he8739fe_3 robostack-experimental ros-galactic-rmw 3.3.1 py39he8739fe_3 robostack-experimental ros-galactic-rmw-connextdds 0.6.2 py39he8739fe_3 robostack-experimental ros-galactic-rmw-connextdds-common 0.6.2 py39he8739fe_3 robostack-experimental ros-galactic-rmw-dds-common 1.2.1 py39ha598a99_3 robostack-experimental ros-galactic-rmw-fastrtps-cpp 5.0.1 py39he8739fe_3 robostack-experimental ros-galactic-rmw-fastrtps-dynamic-cpp 5.0.1 py39he8739fe_3 robostack-experimental ros-galactic-rmw-fastrtps-shared-cpp 5.0.1 py39he8739fe_3 robostack-experimental ros-galactic-rmw-implementation 2.4.1 py39he8739fe_3 robostack-experimental ros-galactic-rmw-implementation-cmake 3.3.1 py39he8739fe_3 robostack-experimental ros-galactic-robot-state-publisher 2.5.3 py39he8739fe_3 robostack-experimental ros-galactic-ros-base 0.9.3 py39he8739fe_3 robostack-experimental ros-galactic-ros-core 0.9.3 py39he8739fe_3 robostack-experimental ros-galactic-ros-environment 3.1.0 py39he8739fe_3 robostack-experimental ros-galactic-ros-workspace 1.0.2 py39he8739fe_3 robostack-experimental ros-galactic-ros2action 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2bag 0.9.1 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2cli 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2cli-common-extensions 0.1.1 py39he8739fe_3 robostack-experimental ros-galactic-ros2component 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2doctor 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2interface 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2launch 0.14.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2lifecycle 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2multicast 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2node 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2param 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2pkg 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2run 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2service 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-ros2topic 0.13.2 py39h4c0ac80_3 robostack-experimental ros-galactic-rosbag2 0.9.1 py39he8739fe_3 robostack-experimental ros-galactic-rosbag2-compression 0.9.1 py39he8739fe_3 robostack-experimental ros-galactic-rosbag2-compression-zstd 0.9.1 py39he8739fe_3 robostack-experimental ros-galactic-rosbag2-cpp 0.9.1 py39he8739fe_3 robostack-experimental ros-galactic-rosbag2-interfaces 0.9.1 py39ha598a99_3 robostack-experimental ros-galactic-rosbag2-py 0.9.1 py39he8739fe_4 robostack-experimental ros-galactic-rosbag2-storage 0.9.1 py39he8739fe_3 robostack-experimental ros-galactic-rosbag2-storage-default-plugins 0.9.1 py39he8739fe_3 robostack-experimental ros-galactic-rosbag2-transport 0.9.1 py39he8739fe_3 robostack-experimental ros-galactic-rosgraph-msgs 1.0.3 py39ha598a99_3 robostack-experimental ros-galactic-rosidl-adapter 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-cli 2.2.1 py39h4c0ac80_3 robostack-experimental ros-galactic-rosidl-cmake 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-default-generators 1.1.1 py39ha598a99_3 robostack-experimental ros-galactic-rosidl-default-runtime 1.1.1 py39ha598a99_3 robostack-experimental ros-galactic-rosidl-generator-c 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-generator-cpp 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-generator-py 0.11.1 py39ha598a99_3 robostack-experimental ros-galactic-rosidl-parser 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-runtime-c 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-runtime-cpp 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-runtime-py 0.9.1 py39h4c0ac80_3 robostack-experimental ros-galactic-rosidl-typesupport-c 1.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-typesupport-cpp 1.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-typesupport-fastrtps-c 1.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-typesupport-fastrtps-cpp 1.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-typesupport-interface 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-typesupport-introspection-c 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rosidl-typesupport-introspection-cpp 2.2.1 py39he8739fe_3 robostack-experimental ros-galactic-rpyutils 0.2.0 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-action 2.0.1 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-bag 1.1.2 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-bag-plugins 1.1.2 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-common-plugins 1.1.0 py39he8739fe_3 robostack-experimental ros-galactic-rqt-console 2.0.2 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-graph 1.2.1 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-gui 1.1.2 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-gui-cpp 1.1.2 py39he8739fe_3 robostack-experimental ros-galactic-rqt-gui-py 1.1.2 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-image-view 1.1.1 py39he8739fe_3 robostack-experimental ros-galactic-rqt-msg 1.0.5 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-plot 1.1.1 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-publisher 1.1.3 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-py-common 1.1.2 py39ha598a99_3 robostack-experimental ros-galactic-rqt-py-console 1.0.2 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-reconfigure 1.0.8 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-service-caller 1.0.5 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-shell 1.0.2 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-srv 1.0.3 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-top 1.0.2 py39h4c0ac80_3 robostack-experimental ros-galactic-rqt-topic 1.2.2 py39h4c0ac80_3 robostack-experimental ros-galactic-rti-connext-dds-cmake-module 0.6.2 py39he8739fe_3 robostack-experimental ros-galactic-rviz-assimp-vendor 8.5.0 py39h183ed34_3 robostack-experimental ros-galactic-rviz-common 8.5.0 py39he8739fe_3 robostack-experimental ros-galactic-rviz-default-plugins 8.5.0 py39he8739fe_3 robostack-experimental ros-galactic-rviz-ogre-vendor 8.5.0 py39hfa3779c_3 robostack-experimental ros-galactic-rviz-rendering 8.5.0 py39h84c1bae_3 robostack-experimental ros-galactic-rviz2 8.5.0 py39he8739fe_3 robostack-experimental ros-galactic-sdl2-vendor 3.0.1 py39he8739fe_3 robostack-experimental ros-galactic-sensor-msgs 2.2.4 py39ha598a99_3 robostack-experimental ros-galactic-shape-msgs 2.2.4 py39ha598a99_3 robostack-experimental ros-galactic-shared-queues-vendor 0.9.1 py39he8739fe_3 robostack-experimental ros-galactic-spdlog-vendor 1.3.0 py39h985731a_3 robostack-experimental ros-galactic-sqlite3-vendor 0.9.1 py39hed94de0_3 robostack-experimental ros-galactic-sros2 0.10.3 py39h4c0ac80_3 robostack-experimental ros-galactic-sros2-cmake 0.10.3 py39he8739fe_3 robostack-experimental ros-galactic-statistics-msgs 1.0.3 py39ha598a99_3 robostack-experimental ros-galactic-std-msgs 2.2.4 py39ha598a99_3 robostack-experimental ros-galactic-std-srvs 2.2.4 py39ha598a99_3 robostack-experimental ros-galactic-stereo-msgs 2.2.4 py39ha598a99_3 robostack-experimental ros-galactic-tango-icons-vendor 0.1.0 py39he8739fe_3 robostack-experimental ros-galactic-teleop-twist-joy 2.4.3 py39he8739fe_3 robostack-experimental ros-galactic-teleop-twist-keyboard 2.3.2 py39h4c0ac80_3 robostack-experimental ros-galactic-tf2 0.17.2 py39h03a1d73_3 robostack-experimental ros-galactic-tf2-bullet 0.17.2 py39he8739fe_3 robostack-experimental ros-galactic-tf2-eigen 0.17.2 py39he8739fe_3 robostack-experimental ros-galactic-tf2-eigen-kdl 0.17.2 py39he8739fe_3 robostack-experimental ros-galactic-tf2-geometry-msgs 0.17.2 py39he8739fe_3 robostack-experimental ros-galactic-tf2-kdl 0.17.2 py39he8739fe_3 robostack-experimental ros-galactic-tf2-msgs 0.17.2 py39ha598a99_3 robostack-experimental ros-galactic-tf2-py 0.17.2 py39he8739fe_3 robostack-experimental ros-galactic-tf2-ros 0.17.2 py39he8739fe_3 robostack-experimental ros-galactic-tf2-ros-py 0.17.2 py39h4c0ac80_3 robostack-experimental ros-galactic-tf2-sensor-msgs 0.17.2 py39he8739fe_3 robostack-experimental ros-galactic-tf2-tools 0.17.2 py39h4c0ac80_3 robostack-experimental ros-galactic-tinyxml-vendor 0.8.2 py39he8739fe_3 robostack-experimental ros-galactic-tinyxml2-vendor 0.7.4 py39hffb49de_3 robostack-experimental ros-galactic-topic-monitor 0.14.3 py39h4c0ac80_3 robostack-experimental ros-galactic-tracetools 2.3.0 py39he8739fe_3 robostack-experimental ros-galactic-trajectory-msgs 2.2.4 py39ha598a99_3 robostack-experimental ros-galactic-turtlesim 1.3.3 py39ha598a99_3 robostack-experimental ros-galactic-uncrustify-vendor 1.5.3 py39he8739fe_3 robostack-experimental ros-galactic-unique-identifier-msgs 2.2.1 py39ha598a99_3 robostack-experimental ros-galactic-urdf 2.5.2 py39he8739fe_3 robostack-experimental ros-galactic-urdf-parser-plugin 2.5.2 py39he8739fe_3 robostack-experimental ros-galactic-urdfdom 2.3.5 py39h03a1d73_3 robostack-experimental ros-galactic-urdfdom-headers 1.0.5 py39he8739fe_3 robostack-experimental ros-galactic-visualization-msgs 2.2.4 py39ha598a99_3 robostack-experimental ros-galactic-yaml-cpp-vendor 7.1.1 py39he8739fe_3 robostack-experimental ros-galactic-zstd-vendor 0.9.1 py39hfc7bdbf_3 robostack-experimental ros2-distro-mutex 0.2.0 galactic robostack-experimental rosdistro 0.8.3 py39hcbf5309_3 conda-forge rospkg 1.4.0 pyhd8ed1ab_0 conda-forge sdl2 2.0.18 h0e60522_0 conda-forge setuptools 61.3.1 py39hcbf5309_0 conda-forge sip 6.5.1 py39h415ef7b_2 conda-forge six 1.16.0 pyh6c4a22f_0 conda-forge snowballstemmer 2.2.0 pyhd8ed1ab_0 conda-forge spdlog 1.9.2 h2d74725_1 conda-forge sqlite 3.37.1 h8ffe710_0 conda-forge tbb 2021.5.0 h2d74725_0 conda-forge tbb-devel 2021.5.0 h2d74725_0 conda-forge tinyxml 2.6.2 h2d74725_2 conda-forge tinyxml2 9.0.0 h0e60522_2 conda-forge tk 8.6.12 h8ffe710_0 conda-forge toml 0.10.2 pyhd8ed1ab_0 conda-forge tomli 2.0.1 pyhd8ed1ab_0 conda-forge tzdata 2022a h191b570_0 conda-forge ucrt 10.0.20348.0 h57928b3_0 conda-forge uncrustify 0.74.0 h57928b3_0 conda-forge unicodedata2 14.0.0 py39hb82d6ee_0 conda-forge utfcpp 3.2.1 h57928b3_0 conda-forge vc 14.2 hb210afc_6 conda-forge vs2015_runtime 14.29.30037 h902a5da_6 conda-forge vtk 9.1.0 qt_py39h1ab545e_207 conda-forge wheel 0.37.1 pyhd8ed1ab_0 conda-forge win32_setctime 1.1.0 pyhd8ed1ab_0 conda-forge xorg-kbproto 1.0.7 hcd874cb_1002 conda-forge xorg-libice 1.0.10 hcd874cb_0 conda-forge xorg-libsm 1.2.3 hcd874cb_1000 conda-forge xorg-libx11 1.7.2 hcd874cb_0 conda-forge xorg-libxau 1.0.9 hcd874cb_0 conda-forge xorg-libxdmcp 1.1.3 hcd874cb_0 conda-forge xorg-libxext 1.3.4 hcd874cb_1 conda-forge xorg-libxpm 3.5.13 hcd874cb_0 conda-forge xorg-libxt 1.2.1 hcd874cb_2 conda-forge xorg-xextproto 7.3.0 hcd874cb_1002 conda-forge xorg-xproto 7.0.31 hcd874cb_1007 conda-forge xz 5.2.5 h62dcd97_1 conda-forge yaml 0.2.5 h8ffe710_2 conda-forge yaml-cpp 0.6.3 ha925a31_4 conda-forge zipp 3.7.0 pyhd8ed1ab_1 conda-forge zlib 1.2.11 h8ffe710_1014 conda-forge zstd 1.5.2 h6255e5f_0 conda-forge zziplib 0.13.69 h1d00b33_1 conda-forge ~~~