Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nodes from pure python packages can't be started via ros2 run on Linux #41

Closed
traversaro opened this issue Jan 26, 2023 · 15 comments · Fixed by RoboStack/vinca#40
Closed

Comments

@traversaro
Copy link
Member

Running the command ros2 run demo_nodes_py demo_talker results in an error:

(rosurdfdom) traversaro@IITICUBLAP257:~$ ros2 run demo_nodes_py demo_talker
No executable found

While the same command on Windows works fine:

(ros-humble) C:\Users\STraversaro>ros2 run demo_nodes_py demo_talker
[INFO] [1674722953.116532500] [talker]: Publishing: "Hello World: 0"
[INFO] [1674722953.946947500] [talker]: Publishing: "Hello World: 1"
[INFO] [1674722954.944548600] [talker]: Publishing: "Hello World: 2"

The problem is that the executables/entry points on Linux are installed in <install_prefix>/bin, instead of the correct location <install_prefix>/lib/<pkg_name>.

This is kind of a regression of RoboStack/ros-galactic#74, as there the problem affected Windows packages, now Linux (and I guess macOS) packages.

@Tobias-Fischer
Copy link
Contributor

Just to be sure, those are the packages in staging?

@traversaro
Copy link
Member Author

Yes, after asking to everyone to post the mamba list I forgot to do it myself. :D

(roshumble) traversaro@IITICUBLAP257:~/mambaforge/envs/roshumble/share/ament_index/resource_index$ ros2 run demo_nodes_py demo_talker
No executable found
(roshumble) traversaro@IITICUBLAP257:~/mambaforge/envs/roshumble/share/ament_index/resource_index$ mamba list
# packages in environment at /home/traversaro/mambaforge/envs/roshumble:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
aiohttp                   3.8.3           py310h5764c6d_1    conda-forge
aiosignal                 1.3.1              pyhd8ed1ab_0    conda-forge
alsa-lib                  1.2.8                h166bdaf_0    conda-forge
aom                       3.5.0                h27087fc_0    conda-forge
argcomplete               1.12.3             pyhd8ed1ab_0    conda-forge
assimp                    5.2.5                hf40c2ba_0    conda-forge
async-timeout             4.0.2              pyhd8ed1ab_0    conda-forge
atk-1.0                   2.38.0               hd4edc92_1    conda-forge
attr                      2.5.1                h166bdaf_1    conda-forge
attrs                     22.2.0             pyh71513ae_0    conda-forge
boost                     1.78.0          py310hc4a4660_4    conda-forge
boost-cpp                 1.78.0               h75c5d50_1    conda-forge
brotli                    1.0.9                h166bdaf_8    conda-forge
brotli-bin                1.0.9                h166bdaf_8    conda-forge
bullet                    3.21                 hfdc917e_4    conda-forge
bullet-cpp                3.21                 h769672d_4    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
ca-certificates           2022.12.7            ha878542_0    conda-forge
cairo                     1.16.0            ha61ee94_1014    conda-forge
catkin_pkg                0.5.2              pyhd8ed1ab_0    conda-forge
certifi                   2022.12.7          pyhd8ed1ab_0    conda-forge
cffi                      1.15.1          py310h255011f_3    conda-forge
charset-normalizer        2.1.1              pyhd8ed1ab_0    conda-forge
cmake                     3.25.2               h077f3f9_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
console_bridge            1.0.2                h924138e_1    conda-forge
contourpy                 1.0.7           py310hdf3cbec_0    conda-forge
cppcheck                  2.7.5           py310h94ea96f_1    conda-forge
cryptography              39.0.0          py310h65dfdc0_0    conda-forge
curl                      7.87.0               h6312ad2_0    conda-forge
cycler                    0.11.0             pyhd8ed1ab_0    conda-forge
dbus                      1.13.6               h5008d03_3    conda-forge
distro                    1.6.0              pyhd8ed1ab_0    conda-forge
docutils                  0.19            py310hff52083_1    conda-forge
double-conversion         3.2.0                h27087fc_1    conda-forge
eigen                     3.4.0                h4bd325d_0    conda-forge
empy                      3.3.4              pyh9f0ad1d_1    conda-forge
exceptiongroup            1.1.0              pyhd8ed1ab_0    conda-forge
expat                     2.5.0                h27087fc_0    conda-forge
ffmpeg                    5.1.2           gpl_h8dda1f0_106    conda-forge
fftw                      3.3.10          nompi_hf0379b8_106    conda-forge
flake8                    6.0.0              pyhd8ed1ab_0    conda-forge
flann                     1.9.1             he05ef13_1011    conda-forge
fmt                       9.1.0                h924138e_0    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.14.1               hc2a2eb6_0    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
fonttools                 4.38.0          py310h5764c6d_1    conda-forge
foonathan-memory          0.7.2                h27087fc_1    conda-forge
freeglut                  3.2.2                h9c3ff4c_1    conda-forge
freeimage                 3.18.0              h530e30e_10    conda-forge
freetype                  2.12.1               hca18f0e_1    conda-forge
fribidi                   1.0.10               h36c2ea0_0    conda-forge
frozenlist                1.3.3           py310h5764c6d_0    conda-forge
gdk-pixbuf                2.42.8               hff1cb4f_1    conda-forge
gettext                   0.21.1               h27087fc_0    conda-forge
giflib                    5.2.1                h36c2ea0_2    conda-forge
gl2ps                     1.4.2                h0708190_0    conda-forge
glew                      2.1.0                h9c3ff4c_2    conda-forge
glib                      2.74.1               h6239696_1    conda-forge
glib-tools                2.74.1               h6239696_1    conda-forge
gmock                     1.12.1               hf52228f_0    conda-forge
gmp                       6.2.1                h58526e2_0    conda-forge
gnutls                    3.7.8                hf3e180e_0    conda-forge
graphite2                 1.3.13            h58526e2_1001    conda-forge
graphviz                  7.0.5                h2e5815a_0    conda-forge
gst-plugins-base          1.21.3               h4243ec0_1    conda-forge
gstreamer                 1.21.3               h25f0c4b_1    conda-forge
gstreamer-orc             0.4.33               h166bdaf_0    conda-forge
gtest                     1.12.1               hf52228f_0    conda-forge
gtk2                      2.24.33              h90689f9_2    conda-forge
gts                       0.7.6                h64030ff_2    conda-forge
harfbuzz                  6.0.0                h8e241bc_0    conda-forge
hdf4                      4.2.15               h9772cbc_5    conda-forge
hdf5                      1.12.2          nompi_h2386368_101    conda-forge
icu                       70.1                 h27087fc_0    conda-forge
idna                      3.4                pyhd8ed1ab_0    conda-forge
imath                     3.1.6                h6239696_1    conda-forge
importlib-metadata        6.0.0              pyha770c72_0    conda-forge
importlib_resources       5.10.2             pyhd8ed1ab_0    conda-forge
iniconfig                 2.0.0              pyhd8ed1ab_0    conda-forge
jack                      1.9.21               h583fa2b_2    conda-forge
jasper                    2.0.33               ha77e612_0    conda-forge
jpeg                      9e                   h166bdaf_2    conda-forge
jsoncpp                   1.9.5                h4bd325d_1    conda-forge
jxrlib                    1.1                  h7f98852_2    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
kiwisolver                1.4.4           py310hbf28c38_1    conda-forge
krb5                      1.20.1               hf9c8cef_0    conda-forge
lame                      3.100             h166bdaf_1003    conda-forge
lark-parser               0.12.0             pyhd8ed1ab_0    conda-forge
lcms2                     2.14                 h6ed2654_0    conda-forge
ld_impl_linux-64          2.39                 hcc3a1bd_1    conda-forge
lerc                      4.0.0                h27087fc_0    conda-forge
libacl                    2.3.1                ha37c62d_1    conda-forge
libaec                    1.0.6                hcb278e6_1    conda-forge
libblas                   3.9.0           16_linux64_openblas    conda-forge
libbrotlicommon           1.0.9                h166bdaf_8    conda-forge
libbrotlidec              1.0.9                h166bdaf_8    conda-forge
libbrotlienc              1.0.9                h166bdaf_8    conda-forge
libcap                    2.66                 ha37c62d_0    conda-forge
libcblas                  3.9.0           16_linux64_openblas    conda-forge
libclang                  15.0.7          default_had23c3d_0    conda-forge
libclang13                15.0.7          default_h3e3d535_0    conda-forge
libcups                   2.3.3                h36d4200_3    conda-forge
libcurl                   7.87.0               h6312ad2_0    conda-forge
libdb                     6.2.32               h9c3ff4c_0    conda-forge
libdeflate                1.14                 h166bdaf_0    conda-forge
libdrm                    2.4.114              h166bdaf_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libevent                  2.1.10               h9b69904_4    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libflac                   1.4.2                h27087fc_0    conda-forge
libgcc-ng                 12.2.0              h65d4601_19    conda-forge
libgcrypt                 1.10.1               h166bdaf_0    conda-forge
libgd                     2.3.3                h18fbbfe_3    conda-forge
libgfortran-ng            12.2.0              h69a702a_19    conda-forge
libgfortran5              12.2.0              h337968e_19    conda-forge
libglib                   2.74.1               h606061b_1    conda-forge
libglu                    9.0.0             he1b5a44_1001    conda-forge
libgomp                   12.2.0              h65d4601_19    conda-forge
libgpg-error              1.46                 h620e276_0    conda-forge
libhwloc                  2.8.0                h32351e8_1    conda-forge
libiconv                  1.17                 h166bdaf_0    conda-forge
libidn2                   2.3.4                h166bdaf_0    conda-forge
libignition-cmake2        2.16.0               hcb278e6_1    conda-forge
libignition-math6         6.13.0          py310h3f2b827_1    conda-forge
liblapack                 3.9.0           16_linux64_openblas    conda-forge
liblapacke                3.9.0           16_linux64_openblas    conda-forge
libllvm15                 15.0.7               hadd5161_0    conda-forge
libnetcdf                 4.8.1           nompi_h261ec11_106    conda-forge
libnghttp2                1.51.0               hdcd2b5c_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libogg                    1.3.4                h7f98852_1    conda-forge
libopenblas               0.3.21          pthreads_h78a6416_3    conda-forge
libopencv                 4.6.0           py310h8149549_8    conda-forge
libopus                   1.3.1                h7f98852_1    conda-forge
libpciaccess              0.17                 h166bdaf_0    conda-forge
libpng                    1.6.39               h753d276_0    conda-forge
libpq                     15.1                 h2baec63_3    conda-forge
libprotobuf               3.21.12              h3eb15da_0    conda-forge
libraw                    0.20.2               h9772cbc_2    conda-forge
librsvg                   2.54.4               h7abd40a_0    conda-forge
libsndfile                1.2.0                hb75c966_0    conda-forge
libsqlite                 3.40.0               h753d276_0    conda-forge
libssh2                   1.10.0               haa6b8db_3    conda-forge
libstdcxx-ng              12.2.0              h46fd767_19    conda-forge
libsystemd0               252                  h2a991cd_0    conda-forge
libtasn1                  4.19.0               h166bdaf_0    conda-forge
libtheora                 1.1.1             h7f98852_1005    conda-forge
libtiff                   4.4.0                h82bc61c_5    conda-forge
libtool                   2.4.7                h27087fc_0    conda-forge
libudev1                  252                  h166bdaf_0    conda-forge
libunistring              0.9.10               h7f98852_0    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libuv                     1.44.2               h166bdaf_0    conda-forge
libva                     2.17.0               h0b41bf4_0    conda-forge
libvorbis                 1.3.7                h9c3ff4c_0    conda-forge
libvpx                    1.11.0               h9c3ff4c_3    conda-forge
libwebp                   1.2.4                h522a892_0    conda-forge
libwebp-base              1.2.4                h166bdaf_0    conda-forge
libxcb                    1.13              h7f98852_1004    conda-forge
libxkbcommon              1.0.3                he3ba5ed_0    conda-forge
libxml2                   2.10.3               h7463322_0    conda-forge
libxslt                   1.1.37               h873f0b0_0    conda-forge
libzip                    1.9.2                hc869a4a_1    conda-forge
libzlib                   1.2.13               h166bdaf_4    conda-forge
loguru                    0.6.0           py310hff52083_2    conda-forge
lxml                      4.9.2           py310hbdc0903_0    conda-forge
lz4-c                     1.9.3                h9c3ff4c_1    conda-forge
matplotlib-base           3.6.3           py310he60537e_0    conda-forge
mccabe                    0.7.0              pyhd8ed1ab_0    conda-forge
mpg123                    1.31.2               hcb278e6_0    conda-forge
multidict                 6.0.4           py310h1fa729e_0    conda-forge
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
mysql-common              8.0.32               h14678bc_0    conda-forge
mysql-libs                8.0.32               h54cf53e_0    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
netifaces                 0.11.0          py310h5764c6d_1    conda-forge
nettle                    3.8.1                hc379101_1    conda-forge
nlohmann_json             3.11.2               h27087fc_0    conda-forge
nspr                      4.35                 h27087fc_0    conda-forge
nss                       3.82                 he02c5a1_0    conda-forge
numpy                     1.24.1          py310h08bbf29_0    conda-forge
ogre                      1.12.13              h4f9a257_3    conda-forge
openexr                   3.1.5                he0ac6c6_1    conda-forge
openh264                  2.3.1                h27087fc_1    conda-forge
openjpeg                  2.5.0                h7d73246_1    conda-forge
openssl                   1.1.1s               h0b41bf4_1    conda-forge
orocos-kdl                1.5.1                h27087fc_4    conda-forge
p11-kit                   0.24.1               hc5aa10d_0    conda-forge
packaging                 23.0               pyhd8ed1ab_0    conda-forge
pango                     1.50.12              hd33c08f_1    conda-forge
pcl                       1.12.1               he8b3650_4    conda-forge
pcre                      8.45                 h9c3ff4c_0    conda-forge
pcre2                     10.40                hc3806b6_0    conda-forge
pep517                    0.13.0             pyhd8ed1ab_0    conda-forge
pillow                    9.2.0           py310h454ad03_3    conda-forge
pip                       22.3.1             pyhd8ed1ab_0    conda-forge
pixman                    0.40.0               h36c2ea0_0    conda-forge
pkg-config                0.29.2            h36c2ea0_1008    conda-forge
pluggy                    1.0.0              pyhd8ed1ab_5    conda-forge
ply                       3.11                       py_1    conda-forge
proj                      9.1.0                h93bde94_0    conda-forge
psutil                    5.9.4           py310h5764c6d_0    conda-forge
pthread-stubs             0.4               h36c2ea0_1001    conda-forge
pugixml                   1.11.4               h9c3ff4c_0    conda-forge
pulseaudio                16.1                 h4ab2085_1    conda-forge
py-opencv                 4.6.0           py310hfdc917e_8    conda-forge
pybind11                  2.10.3          py310hdf3cbec_0    conda-forge
pybind11-abi              4                    hd8ed1ab_3    conda-forge
pybind11-global           2.10.3          py310hdf3cbec_0    conda-forge
pybullet                  3.21            py310h769672d_4    conda-forge
pycairo                   1.23.0          py310hb8a676c_0    conda-forge
pycodestyle               2.10.0             pyhd8ed1ab_0    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pydocstyle                6.3.0              pyhd8ed1ab_0    conda-forge
pydot                     1.4.2           py310hff52083_3    conda-forge
pyflakes                  3.0.1              pyhd8ed1ab_0    conda-forge
pygments                  2.11.2             pyhd8ed1ab_0    conda-forge
pyparsing                 3.0.9              pyhd8ed1ab_0    conda-forge
pyqt                      5.15.7          py310hab646b1_3    conda-forge
pyqt-builder              1.14.0             pyhd8ed1ab_0    conda-forge
pyqt5-sip                 12.11.0         py310heca2aa9_3    conda-forge
pytest                    7.2.1              pyhd8ed1ab_0    conda-forge
python                    3.10.8          h257c98d_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python_abi                3.10                    3_cp310    conda-forge
pyyaml                    6.0             py310h5764c6d_5    conda-forge
qhull                     2020.2               h4bd325d_2    conda-forge
qt-main                   5.15.6               h18908ee_6    conda-forge
readline                  8.1.2                h0f457ee_0    conda-forge
rhash                     1.4.3                h166bdaf_0    conda-forge
ros-humble-action-msgs    1.2.1           py310h7c61026_2    robostack-staging
ros-humble-action-tutorials-cpp 0.20.2          py310h413e681_2    robostack-staging
ros-humble-action-tutorials-interfaces 0.20.2          py310h7c61026_2    robostack-staging
ros-humble-action-tutorials-py 0.20.2          py310h413e681_2    robostack-staging
ros-humble-actionlib-msgs 4.2.2           py310h7c61026_2    robostack-staging
ros-humble-ament-cmake    1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-auto 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-copyright 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-cmake-core 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-cppcheck 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-cmake-cpplint 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-cmake-export-definitions 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-export-dependencies 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-export-include-directories 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-export-interfaces 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-export-libraries 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-export-link-flags 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-export-targets 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-flake8 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-cmake-gen-version-h 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-gmock 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-gtest 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-include-directories 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-libraries 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-lint-cmake 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-cmake-pep257 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-cmake-pytest 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-python 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-ros 0.10.0          py310h413e681_2    robostack-staging
ros-humble-ament-cmake-target-dependencies 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-test 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-uncrustify 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-cmake-version 1.3.3           py310h413e681_2    robostack-staging
ros-humble-ament-cmake-xmllint 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-copyright 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-cppcheck 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-cpplint  0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-flake8   0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-index-cpp 1.4.0           py310h413e681_2    robostack-staging
ros-humble-ament-index-python 1.4.0           py310h413e681_2    robostack-staging
ros-humble-ament-lint     0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-lint-auto 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-lint-cmake 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-lint-common 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-package  0.14.0          py310h413e681_2    robostack-staging
ros-humble-ament-pep257   0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-uncrustify 0.12.4          py310h413e681_2    robostack-staging
ros-humble-ament-xmllint  0.12.4          py310h413e681_2    robostack-staging
ros-humble-angles         1.15.0          py310h413e681_2    robostack-staging
ros-humble-builtin-interfaces 1.2.1           py310h7c61026_2    robostack-staging
ros-humble-class-loader   2.2.0           py310h7727717_2    robostack-staging
ros-humble-common-interfaces 4.2.2           py310h413e681_2    robostack-staging
ros-humble-composition    0.20.2          py310h413e681_2    robostack-staging
ros-humble-composition-interfaces 1.2.1           py310h7c61026_2    robostack-staging
ros-humble-console-bridge-vendor 1.4.0           py310h7727717_2    robostack-staging
ros-humble-cv-bridge      3.2.1           py310he05af81_2    robostack-staging
ros-humble-cyclonedds     0.9.1           py310hb42482d_2    robostack-staging
ros-humble-demo-nodes-cpp 0.20.2          py310h413e681_2    robostack-staging
ros-humble-demo-nodes-cpp-native 0.20.2          py310h413e681_2    robostack-staging
ros-humble-demo-nodes-py  0.20.2          py310h413e681_2    robostack-staging
ros-humble-depthimage-to-laserscan 2.5.0           py310h39d476f_2    robostack-staging
ros-humble-desktop        0.10.0          py310h7c61026_2    robostack-staging
ros-humble-diagnostic-msgs 4.2.2           py310h7c61026_2    robostack-staging
ros-humble-domain-coordinator 0.10.0          py310h413e681_2    robostack-staging
ros-humble-dummy-map-server 0.20.2          py310h413e681_2    robostack-staging
ros-humble-dummy-robot-bringup 0.20.2          py310h413e681_2    robostack-staging
ros-humble-dummy-sensors  0.20.2          py310h413e681_2    robostack-staging
ros-humble-eigen3-cmake-module 0.1.1           py310h413e681_2    robostack-staging
ros-humble-example-interfaces 0.9.3           py310h7c61026_2    robostack-staging
ros-humble-examples-rclcpp-minimal-action-client 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclcpp-minimal-action-server 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclcpp-minimal-client 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclcpp-minimal-composition 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclcpp-minimal-publisher 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclcpp-minimal-service 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclcpp-minimal-subscriber 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclcpp-minimal-timer 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclcpp-multithreaded-executor 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclpy-executors 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclpy-minimal-action-client 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclpy-minimal-action-server 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclpy-minimal-client 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclpy-minimal-publisher 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclpy-minimal-service 0.15.1          py310h413e681_2    robostack-staging
ros-humble-examples-rclpy-minimal-subscriber 0.15.1          py310h413e681_2    robostack-staging
ros-humble-fastcdr        1.0.24          py310h413e681_2    robostack-staging
ros-humble-fastrtps       2.6.3           py310h87fa128_2    robostack-staging
ros-humble-fastrtps-cmake-module 2.2.0           py310h413e681_2    robostack-staging
ros-humble-foonathan-memory-vendor 1.2.0           py310h413e681_2    robostack-staging
ros-humble-geometry-msgs  4.2.2           py310h7c61026_2    robostack-staging
ros-humble-geometry2      0.25.1          py310h413e681_2    robostack-staging
ros-humble-gmock-vendor   1.10.9004       py310h413e681_2    robostack-staging
ros-humble-gtest-vendor   1.10.9004       py310h413e681_2    robostack-staging
ros-humble-iceoryx-binding-c 2.0.2           py310h413e681_2    robostack-staging
ros-humble-iceoryx-hoofs  2.0.2           py310h413e681_2    robostack-staging
ros-humble-iceoryx-posh   2.0.2           py310h413e681_2    robostack-staging
ros-humble-ignition-cmake2-vendor 0.0.2           py310h413e681_2    robostack-staging
ros-humble-ignition-math6-vendor 0.0.2           py310h413e681_2    robostack-staging
ros-humble-image-geometry 3.2.1           py310h39d476f_2    robostack-staging
ros-humble-image-tools    0.20.2          py310h39d476f_2    robostack-staging
ros-humble-image-transport 3.1.5           py310h413e681_2    robostack-staging
ros-humble-interactive-markers 2.3.2           py310h413e681_2    robostack-staging
ros-humble-intra-process-demo 0.20.2          py310h39d476f_2    robostack-staging
ros-humble-joy            3.1.0           py310h413e681_2    robostack-staging
ros-humble-kdl-parser     2.6.3           py310h413e681_2    robostack-staging
ros-humble-keyboard-handler 0.0.5           py310h413e681_2    robostack-staging
ros-humble-laser-geometry 2.4.0           py310h413e681_2    robostack-staging
ros-humble-launch         1.0.3           py310h413e681_2    robostack-staging
ros-humble-launch-ros     0.19.3          py310h413e681_2    robostack-staging
ros-humble-launch-testing 1.0.3           py310h413e681_2    robostack-staging
ros-humble-launch-testing-ament-cmake 1.0.3           py310h413e681_2    robostack-staging
ros-humble-launch-testing-ros 0.19.3          py310h413e681_2    robostack-staging
ros-humble-launch-xml     1.0.3           py310h413e681_2    robostack-staging
ros-humble-launch-yaml    1.0.3           py310h413e681_2    robostack-staging
ros-humble-libcurl-vendor 3.1.0           py310haf5a90d_2    robostack-staging
ros-humble-libstatistics-collector 1.3.0           py310h7c61026_2    robostack-staging
ros-humble-libyaml-vendor 1.2.2           py310h413e681_2    robostack-staging
ros-humble-lifecycle      0.20.2          py310h413e681_2    robostack-staging
ros-humble-lifecycle-msgs 1.2.1           py310h7c61026_2    robostack-staging
ros-humble-logging-demo   0.20.2          py310h7c61026_2    robostack-staging
ros-humble-map-msgs       2.1.0           py310h7c61026_2    robostack-staging
ros-humble-message-filters 4.3.2           py310h413e681_2    robostack-staging
ros-humble-nav-msgs       4.2.2           py310h7c61026_2    robostack-staging
ros-humble-orocos-kdl-vendor 0.2.4           py310h413e681_2    robostack-staging
ros-humble-osrf-pycommon  2.0.2           py310h413e681_2    robostack-staging
ros-humble-pcl-conversions 2.4.0           py310h388ef92_2    robostack-staging
ros-humble-pcl-msgs       1.0.0           py310h7c61026_2    robostack-staging
ros-humble-pendulum-control 0.20.2          py310h413e681_2    robostack-staging
ros-humble-pendulum-msgs  0.20.2          py310h7c61026_2    robostack-staging
ros-humble-pluginlib      5.1.0           py310h413e681_2    robostack-staging
ros-humble-pybind11-vendor 2.4.2           py310h413e681_2    robostack-staging
ros-humble-python-cmake-module 0.10.0          py310h413e681_2    robostack-staging
ros-humble-python-qt-binding 1.1.1           py310h7c61026_2    robostack-staging
ros-humble-qt-dotgraph    2.2.2           py310h413e681_2    robostack-staging
ros-humble-qt-gui         2.2.2           py310h413e681_2    robostack-staging
ros-humble-qt-gui-cpp     2.2.2           py310h7c61026_2    robostack-staging
ros-humble-qt-gui-py-common 2.2.2           py310h413e681_2    robostack-staging
ros-humble-quality-of-service-demo-cpp 0.20.2          py310h413e681_2    robostack-staging
ros-humble-quality-of-service-demo-py 0.20.2          py310h413e681_2    robostack-staging
ros-humble-rcl            5.3.2           py310h413e681_2    robostack-staging
ros-humble-rcl-action     5.3.2           py310h413e681_2    robostack-staging
ros-humble-rcl-interfaces 1.2.1           py310h7c61026_2    robostack-staging
ros-humble-rcl-lifecycle  5.3.2           py310h413e681_2    robostack-staging
ros-humble-rcl-logging-interface 2.3.1           py310h413e681_2    robostack-staging
ros-humble-rcl-logging-spdlog 2.3.1           py310h26790da_2    robostack-staging
ros-humble-rcl-yaml-param-parser 5.3.2           py310h413e681_2    robostack-staging
ros-humble-rclcpp         16.0.2          py310h7c61026_2    robostack-staging
ros-humble-rclcpp-action  16.0.2          py310h413e681_2    robostack-staging
ros-humble-rclcpp-components 16.0.2          py310h413e681_2    robostack-staging
ros-humble-rclcpp-lifecycle 16.0.2          py310h413e681_2    robostack-staging
ros-humble-rclpy          3.3.5           py310h7c61026_2    robostack-staging
ros-humble-rcpputils      2.4.0           py310h413e681_2    robostack-staging
ros-humble-rcutils        5.1.2           py310h413e681_2    robostack-staging
ros-humble-resource-retriever 3.1.0           py310h413e681_2    robostack-staging
ros-humble-rmw            6.1.1           py310h413e681_2    robostack-staging
ros-humble-rmw-connextdds 0.11.1          py310h413e681_2    robostack-staging
ros-humble-rmw-connextdds-common 0.11.1          py310h413e681_2    robostack-staging
ros-humble-rmw-cyclonedds-cpp 1.3.4           py310h413e681_2    robostack-staging
ros-humble-rmw-dds-common 1.6.0           py310h7c61026_2    robostack-staging
ros-humble-rmw-fastrtps-cpp 6.2.2           py310h413e681_2    robostack-staging
ros-humble-rmw-fastrtps-dynamic-cpp 6.2.2           py310h413e681_2    robostack-staging
ros-humble-rmw-fastrtps-shared-cpp 6.2.2           py310h413e681_2    robostack-staging
ros-humble-rmw-implementation 2.8.1           py310h413e681_2    robostack-staging
ros-humble-rmw-implementation-cmake 6.1.1           py310h413e681_2    robostack-staging
ros-humble-robot-state-publisher 3.0.2           py310h413e681_2    robostack-staging
ros-humble-ros-base       0.10.0          py310h7c61026_2    robostack-staging
ros-humble-ros-core       0.10.0          py310h413e681_2    robostack-staging
ros-humble-ros-environment 3.2.2           py310h413e681_2    robostack-staging
ros-humble-ros-workspace  1.0.2           py310h413e681_2    robostack-staging
ros-humble-ros2action     0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2bag        0.15.3          py310h7c61026_2    robostack-staging
ros-humble-ros2cli        0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2cli-common-extensions 0.1.1           py310h413e681_2    robostack-staging
ros-humble-ros2component  0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2doctor     0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2interface  0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2launch     0.19.3          py310h413e681_2    robostack-staging
ros-humble-ros2lifecycle  0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2multicast  0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2node       0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2param      0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2pkg        0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2run        0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2service    0.18.4          py310h413e681_2    robostack-staging
ros-humble-ros2topic      0.18.4          py310h413e681_2    robostack-staging
ros-humble-rosbag2        0.15.3          py310h7c61026_2    robostack-staging
ros-humble-rosbag2-compression 0.15.3          py310h413e681_2    robostack-staging
ros-humble-rosbag2-compression-zstd 0.15.3          py310h413e681_2    robostack-staging
ros-humble-rosbag2-cpp    0.15.3          py310h413e681_2    robostack-staging
ros-humble-rosbag2-interfaces 0.15.3          py310h7c61026_2    robostack-staging
ros-humble-rosbag2-py     0.15.3          py310h413e681_2    robostack-staging
ros-humble-rosbag2-storage 0.15.3          py310h413e681_2    robostack-staging
ros-humble-rosbag2-storage-default-plugins 0.15.3          py310h413e681_2    robostack-staging
ros-humble-rosbag2-transport 0.15.3          py310h413e681_2    robostack-staging
ros-humble-rosgraph-msgs  1.2.1           py310h7c61026_2    robostack-staging
ros-humble-rosidl-adapter 3.1.4           py310h413e681_2    robostack-staging
ros-humble-rosidl-cli     3.1.4           py310h413e681_2    robostack-staging
ros-humble-rosidl-cmake   3.1.4           py310h413e681_2    robostack-staging
ros-humble-rosidl-default-generators 1.2.0           py310h7c61026_2    robostack-staging
ros-humble-rosidl-default-runtime 1.2.0           py310h7c61026_2    robostack-staging
ros-humble-rosidl-generator-c 3.1.4           py310h413e681_2    robostack-staging
ros-humble-rosidl-generator-cpp 3.1.4           py310h413e681_2    robostack-staging
ros-humble-rosidl-generator-py 0.14.4          py310h7c61026_2    robostack-staging
ros-humble-rosidl-parser  3.1.4           py310h413e681_2    robostack-staging
ros-humble-rosidl-runtime-c 3.1.4           py310h413e681_2    robostack-staging
ros-humble-rosidl-runtime-cpp 3.1.4           py310h413e681_2    robostack-staging
ros-humble-rosidl-runtime-py 0.9.3           py310h413e681_2    robostack-staging
ros-humble-rosidl-typesupport-c 2.0.0           py310h413e681_2    robostack-staging
ros-humble-rosidl-typesupport-cpp 2.0.0           py310h413e681_2    robostack-staging
ros-humble-rosidl-typesupport-fastrtps-c 2.2.0           py310h413e681_2    robostack-staging
ros-humble-rosidl-typesupport-fastrtps-cpp 2.2.0           py310h413e681_2    robostack-staging
ros-humble-rosidl-typesupport-interface 3.1.4           py310h413e681_2    robostack-staging
ros-humble-rosidl-typesupport-introspection-c 3.1.4           py310h413e681_2    robostack-staging
ros-humble-rosidl-typesupport-introspection-cpp 3.1.4           py310h413e681_2    robostack-staging
ros-humble-rpyutils       0.2.1           py310h413e681_2    robostack-staging
ros-humble-rqt-action     2.0.1           py310h413e681_2    robostack-staging
ros-humble-rqt-bag        1.1.4           py310h7c61026_2    robostack-staging
ros-humble-rqt-bag-plugins 1.1.4           py310h7c61026_2    robostack-staging
ros-humble-rqt-common-plugins 1.2.0           py310h7c61026_2    robostack-staging
ros-humble-rqt-console    2.0.2           py310h413e681_2    robostack-staging
ros-humble-rqt-graph      1.3.0           py310h413e681_2    robostack-staging
ros-humble-rqt-gui        1.1.4           py310h413e681_2    robostack-staging
ros-humble-rqt-gui-cpp    1.1.4           py310h413e681_2    robostack-staging
ros-humble-rqt-gui-py     1.1.4           py310h413e681_2    robostack-staging
ros-humble-rqt-image-view 1.2.0           py310h413e681_2    robostack-staging
ros-humble-rqt-msg        1.2.0           py310h413e681_2    robostack-staging
ros-humble-rqt-plot       1.1.2           py310h413e681_2    robostack-staging
ros-humble-rqt-publisher  1.5.0           py310h413e681_2    robostack-staging
ros-humble-rqt-py-common  1.1.4           py310h7c61026_2    robostack-staging
ros-humble-rqt-py-console 1.0.2           py310h413e681_2    robostack-staging
ros-humble-rqt-reconfigure 1.1.1           py310h413e681_2    robostack-staging
ros-humble-rqt-service-caller 1.0.5           py310h413e681_2    robostack-staging
ros-humble-rqt-shell      1.0.2           py310h413e681_2    robostack-staging
ros-humble-rqt-srv        1.0.3           py310h413e681_2    robostack-staging
ros-humble-rqt-topic      1.5.0           py310h413e681_2    robostack-staging
ros-humble-rti-connext-dds-cmake-module 0.11.1          py310h413e681_2    robostack-staging
ros-humble-rttest         0.13.0          py310h413e681_2    robostack-staging
ros-humble-rviz-assimp-vendor 11.2.4          py310he824681_2    robostack-staging
ros-humble-rviz-common    11.2.4          py310h413e681_2    robostack-staging
ros-humble-rviz-default-plugins 11.2.4          py310h413e681_2    robostack-staging
ros-humble-rviz-ogre-vendor 11.2.4          py310h78654fa_2    robostack-staging
ros-humble-rviz-rendering 11.2.4          py310h7f89e15_2    robostack-staging
ros-humble-rviz2          11.2.4          py310h413e681_2    robostack-staging
ros-humble-sdl2-vendor    3.1.0           py310hcb79e47_2    robostack-staging
ros-humble-sensor-msgs    4.2.2           py310h7c61026_2    robostack-staging
ros-humble-sensor-msgs-py 4.2.2           py310h413e681_2    robostack-staging
ros-humble-shape-msgs     4.2.2           py310h7c61026_2    robostack-staging
ros-humble-shared-queues-vendor 0.15.3          py310h413e681_2    robostack-staging
ros-humble-spdlog-vendor  1.3.0           py310h26790da_2    robostack-staging
ros-humble-sqlite3-vendor 0.15.3          py310ha95fa60_2    robostack-staging
ros-humble-sros2          0.10.4          py310h413e681_2    robostack-staging
ros-humble-sros2-cmake    0.10.4          py310h413e681_2    robostack-staging
ros-humble-statistics-msgs 1.2.1           py310h7c61026_2    robostack-staging
ros-humble-std-msgs       4.2.2           py310h7c61026_2    robostack-staging
ros-humble-std-srvs       4.2.2           py310h7c61026_2    robostack-staging
ros-humble-stereo-msgs    4.2.2           py310h7c61026_2    robostack-staging
ros-humble-tango-icons-vendor 0.1.1           py310h413e681_2    robostack-staging
ros-humble-teleop-twist-joy 2.4.3           py310h413e681_2    robostack-staging
ros-humble-teleop-twist-keyboard 2.3.2           py310h413e681_2    robostack-staging
ros-humble-tf2            0.25.1          py310h7727717_2    robostack-staging
ros-humble-tf2-bullet     0.25.1          py310h413e681_2    robostack-staging
ros-humble-tf2-eigen      0.25.1          py310h413e681_2    robostack-staging
ros-humble-tf2-eigen-kdl  0.25.1          py310h413e681_2    robostack-staging
ros-humble-tf2-geometry-msgs 0.25.1          py310h413e681_2    robostack-staging
ros-humble-tf2-kdl        0.25.1          py310h413e681_2    robostack-staging
ros-humble-tf2-msgs       0.25.1          py310h7c61026_2    robostack-staging
ros-humble-tf2-py         0.25.1          py310h413e681_2    robostack-staging
ros-humble-tf2-ros        0.25.1          py310h413e681_2    robostack-staging
ros-humble-tf2-ros-py     0.25.1          py310h413e681_2    robostack-staging
ros-humble-tf2-sensor-msgs 0.25.1          py310h413e681_2    robostack-staging
ros-humble-tf2-tools      0.25.1          py310h413e681_2    robostack-staging
ros-humble-tinyxml-vendor 0.8.3           py310h413e681_2    robostack-staging
ros-humble-tinyxml2-vendor 0.7.5           py310h8e3f4c6_2    robostack-staging
ros-humble-tlsf           0.7.0           py310h413e681_2    robostack-staging
ros-humble-tlsf-cpp       0.13.0          py310h413e681_2    robostack-staging
ros-humble-topic-monitor  0.20.2          py310h413e681_2    robostack-staging
ros-humble-tracetools     4.1.1           py310h413e681_2    robostack-staging
ros-humble-trajectory-msgs 4.2.2           py310h7c61026_2    robostack-staging
ros-humble-turtlesim      1.4.2           py310h7c61026_2    robostack-staging
ros-humble-uncrustify-vendor 2.0.2           py310h413e681_2    robostack-staging
ros-humble-unique-identifier-msgs 2.2.1           py310h7c61026_2    robostack-staging
ros-humble-urdf           2.6.0           py310h413e681_2    robostack-staging
ros-humble-urdf-parser-plugin 2.6.0           py310h413e681_2    robostack-staging
ros-humble-urdfdom        3.0.2           py310h7727717_2    robostack-staging
ros-humble-urdfdom-headers 1.0.6           py310h413e681_2    robostack-staging
ros-humble-visualization-msgs 4.2.2           py310h7c61026_2    robostack-staging
ros-humble-yaml-cpp-vendor 8.0.1           py310h413e681_2    robostack-staging
ros-humble-zstd-vendor    0.15.3          py310hf7651ed_2    robostack-staging
ros2-distro-mutex         0.2.0                    humble    robostack-staging
rosdistro                 0.9.0           py310hff52083_0    conda-forge
rospkg                    1.4.0              pyhd8ed1ab_0    conda-forge
sdl2                      2.26.2               h949db6a_0    conda-forge
setuptools                61.0.0          py310hff52083_0    conda-forge
sip                       6.7.5           py310hd8f1fbe_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
snowballstemmer           2.2.0              pyhd8ed1ab_0    conda-forge
spdlog                    1.11.0               h9b3ece8_1    conda-forge
sqlite                    3.40.0               h4ff8645_0    conda-forge
svt-av1                   1.4.1                hcb278e6_0    conda-forge
swig                      4.1.1                h5d7ef5f_0    conda-forge
tbb                       2021.7.0             h924138e_1    conda-forge
tbb-devel                 2021.7.0             h924138e_1    conda-forge
tinyxml                   2.6.2                h4bd325d_2    conda-forge
tinyxml2                  9.0.0                h9c3ff4c_2    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
toml                      0.10.2             pyhd8ed1ab_0    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
typing-extensions         4.4.0                hd8ed1ab_0    conda-forge
typing_extensions         4.4.0              pyha770c72_0    conda-forge
tzdata                    2022g                h191b570_0    conda-forge
uncrustify                0.74.0               h27087fc_0    conda-forge
unicodedata2              15.0.0          py310h5764c6d_0    conda-forge
urdfdom-py                1.2.0                    pypi_0    pypi
utfcpp                    3.2.3                ha770c72_0    conda-forge
vtk                       9.2.2           qt_py310hc895abb_205    conda-forge
wheel                     0.38.4             pyhd8ed1ab_0    conda-forge
wslink                    1.10.0             pyhd8ed1ab_0    conda-forge
x264                      1!164.3095           h166bdaf_2    conda-forge
x265                      3.5                  h924138e_3    conda-forge
xcb-util                  0.4.0                h166bdaf_0    conda-forge
xcb-util-image            0.4.0                h166bdaf_0    conda-forge
xcb-util-keysyms          0.4.0                h166bdaf_0    conda-forge
xcb-util-renderutil       0.3.9                h166bdaf_0    conda-forge
xcb-util-wm               0.4.1                h166bdaf_0    conda-forge
xorg-fixesproto           5.0               h7f98852_1002    conda-forge
xorg-inputproto           2.3.2             h7f98852_1002    conda-forge
xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
xorg-libice               1.0.10               h7f98852_0    conda-forge
xorg-libsm                1.2.3             hd9c2040_1000    conda-forge
xorg-libx11               1.7.2                h7f98852_0    conda-forge
xorg-libxau               1.0.9                h7f98852_0    conda-forge
xorg-libxaw               1.0.14               h7f98852_1    conda-forge
xorg-libxdmcp             1.1.3                h7f98852_0    conda-forge
xorg-libxext              1.3.4                h7f98852_1    conda-forge
xorg-libxfixes            5.0.3             h7f98852_1004    conda-forge
xorg-libxi                1.7.10               h7f98852_0    conda-forge
xorg-libxmu               1.1.3                h7f98852_0    conda-forge
xorg-libxpm               3.5.13               h7f98852_0    conda-forge
xorg-libxrandr            1.5.2                h7f98852_1    conda-forge
xorg-libxrender           0.9.10            h7f98852_1003    conda-forge
xorg-libxt                1.2.1                h7f98852_2    conda-forge
xorg-randrproto           1.5.0             h7f98852_1001    conda-forge
xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
xorg-xextproto            7.3.0             h7f98852_1002    conda-forge
xorg-xproto               7.0.31            h7f98852_1007    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge
yaml                      0.2.5                h7f98852_2    conda-forge
yaml-cpp                  0.7.0                h27087fc_2    conda-forge
yarl                      1.8.2           py310h5764c6d_0    conda-forge
zipp                      3.11.0             pyhd8ed1ab_0    conda-forge
zlib                      1.2.13               h166bdaf_4    conda-forge
zstd                      1.5.2                h3eb15da_6    conda-forge
zziplib                   0.13.69              h27826a3_1    conda-forge

@traversaro
Copy link
Member Author

Ok, I think I understood what is going on. I tried to install a simple repo that installs a file in <install_prefix>/lib/<pkg_name>, i.e. https://github.com/ros/urdf_parser_py, and the entry point/executable is installed in the correct location for Python 3.7/3.8/3.9, while in the wrong location <install_prefix>/bin for Python 3.10/3.11 . Indeed, for Python 3.7/3.8/3.9 when installing a clear deprecation warning is printed:

Installing collected packages: urdfdom-py
  DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
  changing mode of /home/traversaro/mambaforge/envs/urdfpydev/lib/urdfdom_py/display_urdf to 755

So probably now the setup.cfg are ignored. I wonder how this is handled by humble's official apt packages, that anyhow are installed via Python 3.10 on Ubuntu 22.04 .

@traversaro
Copy link
Member Author

So probably now the setup.cfg are ignored. I wonder how this is handled by humble's official apt packages, that anyhow are installed via Python 3.10 on Ubuntu 22.04 .

Interestingly, that issue only refers to distutils.cfg, so I am not 100% sure how it is related to our issue. I also tested ros2 run demo_nodes_py demo_talker installed on Ubuntu 22.04 with ROS2 Humble official apt packages and it is working fine.

@traversaro
Copy link
Member Author

However, using pure python apt on a Ubuntu 22.04 with ROS2 Humble results in the scripts being installed in <install_prefix>/local/bin instead of <install_prefix>/lib/urdfdom_py/:

traversaro@IITICUBLAP257:~/urdf_parser_py$ python -m pip install . -v  --prefix=./install
Using pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
Processing /home/traversaro/urdf_parser_py
  Running command python setup.py egg_info
  running egg_info
  creating /tmp/pip-pip-egg-info-1k3_opic/urdfdom_py.egg-info
  writing /tmp/pip-pip-egg-info-1k3_opic/urdfdom_py.egg-info/PKG-INFO
  writing dependency_links to /tmp/pip-pip-egg-info-1k3_opic/urdfdom_py.egg-info/dependency_links.txt
  writing entry points to /tmp/pip-pip-egg-info-1k3_opic/urdfdom_py.egg-info/entry_points.txt
  writing requirements to /tmp/pip-pip-egg-info-1k3_opic/urdfdom_py.egg-info/requires.txt
  writing top-level names to /tmp/pip-pip-egg-info-1k3_opic/urdfdom_py.egg-info/top_level.txt
  writing manifest file '/tmp/pip-pip-egg-info-1k3_opic/urdfdom_py.egg-info/SOURCES.txt'
  reading manifest file '/tmp/pip-pip-egg-info-1k3_opic/urdfdom_py.egg-info/SOURCES.txt'
  writing manifest file '/tmp/pip-pip-egg-info-1k3_opic/urdfdom_py.egg-info/SOURCES.txt'
  Preparing metadata (setup.py) ... done
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from urdfdom-py==1.2.0) (59.6.0)
Building wheels for collected packages: urdfdom-py
  Running command python setup.py bdist_wheel
  running bdist_wheel
  running build
  running build_py
  /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
    warnings.warn(
  installing to build/bdist.linux-x86_64/wheel
  running install
  running install_lib
  creating build/bdist.linux-x86_64/wheel
  creating build/bdist.linux-x86_64/wheel/urdf_parser_py
  copying build/lib/urdf_parser_py/sdf.py -> build/bdist.linux-x86_64/wheel/urdf_parser_py
  copying build/lib/urdf_parser_py/urdf.py -> build/bdist.linux-x86_64/wheel/urdf_parser_py
  copying build/lib/urdf_parser_py/display_urdf.py -> build/bdist.linux-x86_64/wheel/urdf_parser_py
  creating build/bdist.linux-x86_64/wheel/urdf_parser_py/xml_reflection
  copying build/lib/urdf_parser_py/xml_reflection/core.py -> build/bdist.linux-x86_64/wheel/urdf_parser_py/xml_reflection
  copying build/lib/urdf_parser_py/xml_reflection/basics.py -> build/bdist.linux-x86_64/wheel/urdf_parser_py/xml_reflection
  copying build/lib/urdf_parser_py/xml_reflection/__init__.py -> build/bdist.linux-x86_64/wheel/urdf_parser_py/xml_reflection
  copying build/lib/urdf_parser_py/__init__.py -> build/bdist.linux-x86_64/wheel/urdf_parser_py
  running install_data
  creating build/bdist.linux-x86_64/wheel/urdfdom_py-1.2.0.data
  creating build/bdist.linux-x86_64/wheel/urdfdom_py-1.2.0.data/data
  creating build/bdist.linux-x86_64/wheel/urdfdom_py-1.2.0.data/data/share
  creating build/bdist.linux-x86_64/wheel/urdfdom_py-1.2.0.data/data/share/ament_index
  creating build/bdist.linux-x86_64/wheel/urdfdom_py-1.2.0.data/data/share/ament_index/resource_index
  creating build/bdist.linux-x86_64/wheel/urdfdom_py-1.2.0.data/data/share/ament_index/resource_index/packages
  copying resource/urdfdom_py -> build/bdist.linux-x86_64/wheel/urdfdom_py-1.2.0.data/data/share/ament_index/resource_index/packages
  creating build/bdist.linux-x86_64/wheel/urdfdom_py-1.2.0.data/data/share/urdfdom_py
  copying package.xml -> build/bdist.linux-x86_64/wheel/urdfdom_py-1.2.0.data/data/share/urdfdom_py
  running install_egg_info
  running egg_info
  writing src/urdfdom_py.egg-info/PKG-INFO
  writing dependency_links to src/urdfdom_py.egg-info/dependency_links.txt
  writing entry points to src/urdfdom_py.egg-info/entry_points.txt
  writing requirements to src/urdfdom_py.egg-info/requires.txt
  writing top-level names to src/urdfdom_py.egg-info/top_level.txt
  reading manifest file 'src/urdfdom_py.egg-info/SOURCES.txt'
  writing manifest file 'src/urdfdom_py.egg-info/SOURCES.txt'
  Copying src/urdfdom_py.egg-info to build/bdist.linux-x86_64/wheel/urdfdom_py-1.2.0.egg-info
  running install_scripts
  creating build/bdist.linux-x86_64/wheel/urdfdom_py-1.2.0.dist-info/WHEEL
  creating '/tmp/pip-wheel-aet5_po1/urdfdom_py-1.2.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
  adding 'urdf_parser_py/__init__.py'
  adding 'urdf_parser_py/display_urdf.py'
  adding 'urdf_parser_py/sdf.py'
  adding 'urdf_parser_py/urdf.py'
  adding 'urdf_parser_py/xml_reflection/__init__.py'
  adding 'urdf_parser_py/xml_reflection/basics.py'
  adding 'urdf_parser_py/xml_reflection/core.py'
  adding 'urdfdom_py-1.2.0.data/data/share/ament_index/resource_index/packages/urdfdom_py'
  adding 'urdfdom_py-1.2.0.data/data/share/urdfdom_py/package.xml'
  adding 'urdfdom_py-1.2.0.dist-info/METADATA'
  adding 'urdfdom_py-1.2.0.dist-info/WHEEL'
  adding 'urdfdom_py-1.2.0.dist-info/entry_points.txt'
  adding 'urdfdom_py-1.2.0.dist-info/top_level.txt'
  adding 'urdfdom_py-1.2.0.dist-info/zip-safe'
  adding 'urdfdom_py-1.2.0.dist-info/RECORD'
  removing build/bdist.linux-x86_64/wheel
  Building wheel for urdfdom-py (setup.py) ... done
  Created wheel for urdfdom-py: filename=urdfdom_py-1.2.0-py3-none-any.whl size=15991 sha256=cb115c64a233776005373a28dc6de48c6b9dc806494954d782df375b67e67504
  Stored in directory: /tmp/pip-ephem-wheel-cache-g3fi39eu/wheels/e2/91/e9/6c87018216e4a8e53b53b8ffda1f6b738e989c30435075cbda
Successfully built urdfdom-py
Installing collected packages: urdfdom-py
  changing mode of install/local/bin/display_urdf to 755
Successfully installed urdfdom-py-1.2.0

@traversaro
Copy link
Member Author

Installing everything via colcon instead works fine:

traversaro@IITICUBLAP257:~/testurdf$ colcon build
Starting >>> urdfdom_py
--- stderr: urdfdom_py
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
---
Finished <<< urdfdom_py [0.99s]

Summary: 1 package finished [1.16s]
  1 package had stderr output: urdfdom_py
traversaro@IITICUBLAP257:~/testurdf$ cd install/
traversaro@IITICUBLAP257:~/testurdf/install$ find . | grep displa
./urdfdom_py/lib/python3.10/site-packages/urdf_parser_py/__pycache__/display_urdf.cpython-310.pyc
./urdfdom_py/lib/python3.10/site-packages/urdf_parser_py/display_urdf.py
./urdfdom_py/lib/urdfdom_py/display_urdf

Given the warning, it seems that python setup.py is being used in colcon, and indeed this is the case by printing the command.log file:

traversaro@IITICUBLAP257:~/testurdf$ cat ./log/build_2023-01-27_10-11-22/urdfdom_py/command.log
Invoking command in '/home/traversaro/testurdf/src/urdf_parser_py': PYTHONPATH=/home/traversaro/testurdf/build/urdfdom_py/prefix_override:/home/traversaro/testurdf/install/urdfdom_py/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 setup.py egg_info --egg-base ../../build/urdfdom_py build --build-base /home/traversaro/testurdf/build/urdfdom_py/build install --record /home/traversaro/testurdf/build/urdfdom_py/install.log --single-version-externally-managed
Invoked command in '/home/traversaro/testurdf/src/urdf_parser_py' returned '0': PYTHONPATH=/home/traversaro/testurdf/build/urdfdom_py/prefix_override:/home/traversaro/testurdf/install/urdfdom_py/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 setup.py egg_info --egg-base ../../build/urdfdom_py build --build-base /home/traversaro/testurdf/build/urdfdom_py/build install --record /home/traversaro/testurdf/build/urdfdom_py/install.log --single-version-externally-managed

@traversaro
Copy link
Member Author

Indeed, the code related to building python repos in colcon is https://github.com/colcon/colcon-core/blob/0.11.0/colcon_core/task/python/build.py#L51 , and it is possible to see that python setup.py is still used, and its removal is being tracked in colcon/colcon-core#454 .

@traversaro
Copy link
Member Author

Thanks for the debugging, @traversaro! The simplest solution seems to mirror https://github.com/RoboStack/vinca/blob/master/vinca/templates/bld_ament_python.bat.in to https://github.com/RoboStack/vinca/blob/master/vinca/templates/build_ament_python.sh.in?

That could be an idea! For some reason, when testing that command locally I had some problem as the library was installed as an egg archive, but I do not know if there is something at the conda level to deal with it. Anyhow, given that it works for Windows we can try to use it and see if it works (I did not try to modify vinca and re-build the packages at the moment).

@traversaro
Copy link
Member Author

I also had problems in while using that command, as for some reason a setuptools was installed with the package. I avoid that by passing also the commands --single-version-externally-managed --record ./installed_files.

@Tobias-Fischer
Copy link
Contributor

Ok great. Do you happen to know if we also need to check this logic on Unix? https://github.com/RoboStack/vinca/blob/3b26d3ff52dd2c1108b3bef90e9bb0a08afd4cf4/vinca/templates/bld_ament_python.bat.in#L9-L14

@Tobias-Fischer
Copy link
Contributor

Reopening until packages are rebuilt.

@Tobias-Fischer
Copy link
Contributor

Fixed in the last rebuild :)

@TSoli
Copy link

TSoli commented Feb 23, 2024

I am still getting this issue. I installed via conda with conda install ros-humble-desktop-full. Was there a workaround? I can't quite understand what the approach was above? I see some merged PRs though. Is it possible these aren't incorporated into conda yet?

@Tobias-Fischer
Copy link
Contributor

Can you please create a new issue and provide the requested information @TSoli?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants