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

Catkin incompatibilty from 53b9790 (not included) #579

Open
MaximilienNaveau opened this issue Jan 31, 2023 · 2 comments
Open

Catkin incompatibilty from 53b9790 (not included) #579

MaximilienNaveau opened this issue Jan 31, 2023 · 2 comments
Labels

Comments

@MaximilienNaveau
Copy link
Contributor

MaximilienNaveau commented Jan 31, 2023

We have an issue with catkin tools when package are managed with the jrl-cmakemmodules from 53b9790 excluded.
Indeed everything is fine if 53b9790 is checkout is the git submodule.

The problem arise when one follows these steps:

  • 1/ Step one clone your workspace in workspace/src
  • 2/ Build you workspace using catkin tools: catkin build
  • 3/ source and test your ros node: source devel/setup.bash and roslaunch something something.
    • This should work.
    • The environment variable ROS_PACKAGE_PATH should point to all of your packages source folders and to the chained workspace (typically /opt/ros//)
  • 4/ Without any modification in the code, simply rebuild the workspace catkin build
  • 5/ Re-source the environment: source devel/setup.bash
    • This fails
    • CMAKE_PREFIX_PATH is backward. It should be <your-workspace>:<chained-workpsace>.
    • ROS_PACKAGE_PATH becomes <chained-workpsace> it does not contain the paths to the source folder anymore.
@jcarpent
Copy link
Contributor

This is issue is not very reproducible. While containing a lot of details, @MaximilienNaveau you should rather provide two bash files to reproduce and understand it.

@MaximilienNaveau
Copy link
Contributor Author

MaximilienNaveau commented Apr 28, 2023

Reproducing the bug:

# wrong behavior
source /opt/ros/noetic/setup.bash # Can be any ros1 version
cd /tmp
mkdir -p devel/workspace/src
cd devel/workspace/src
git clone --recursive https://github.com/Gepetto/aig.git -b topic/mnaveau/catkin_incompatible_cmake_module
cd ..
catkin build
source devel/setup.bash
env | grep ROS
catkin build
source devel/setup.bash
env | grep ROS

The ouput should look tike this:

Cloning into 'aig'...
remote: Enumerating objects: 1450, done.
remote: Counting objects: 100% (313/313), done.
remote: Compressing objects: 100% (219/219), done.
remote: Total 1450 (delta 169), reused 148 (delta 89), pack-reused 1137
Receiving objects: 100% (1450/1450), 2.31 MiB | 7.99 MiB/s, done.
Resolving deltas: 100% (910/910), done.
Submodule 'cmake' (https://github.com/jrl-umi3218/jrl-cmakemodules.git) registered for path 'cmake'
Cloning into '/tmp/devel/workspace/src/aig/cmake'...
remote: Enumerating objects: 4594, done.        
remote: Counting objects: 100% (1098/1098), done.        
remote: Compressing objects: 100% (527/527), done.        
remote: Total 4594 (delta 583), reused 938 (delta 518), pack-reused 3496        
Receiving objects: 100% (4594/4594), 2.25 MiB | 12.29 MiB/s, done.
Resolving deltas: 100% (2547/2547), done.
Submodule path 'cmake': checked out '7cf918642ffff34e6960b240aae87b0414c28860'
-------------------------------------------------------------------------------------
Profile:                     default
Extending:             [env] /opt/ros/noetic:/opt/gurobi951/linux64/:/opt/openrobots/
Workspace:                   /tmp/devel/workspace
-------------------------------------------------------------------------------------
Build Space:        [exists] /tmp/devel/workspace/build
Devel Space:        [exists] /tmp/devel/workspace/devel
Install Space:      [unused] /tmp/devel/workspace/install
Log Space:         [missing] /tmp/devel/workspace/logs
Source Space:       [exists] /tmp/devel/workspace/src
DESTDIR:            [unused] None
-------------------------------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
-------------------------------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
-------------------------------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
-------------------------------------------------------------------------------------
Workspace configuration appears valid.

NOTE: Forcing CMake to run for each package.
-------------------------------------------------------------------------------------
[build] Found '1' packages in 0.0 seconds.                                                                                                                                                                
[build] Updating package table.                                                                                                                                                                           
Starting  >>> catkin_tools_prebuild                                                                                                                                                                       
Finished  <<< catkin_tools_prebuild                [ 1.1 seconds ]                                                                                                                                        
Starting  >>> aig                                                                                                                                                                                         
Finished  <<< aig                                  [ 45.6 seconds ]                                                                                                                                       
[build] Summary: All 2 packages succeeded!                                                                                                                                                                
[build]   Ignored:   None.                                                                                                                                                                                
[build]   Warnings:  None.                                                                                                                                                                                
[build]   Abandoned: None.                                                                                                                                                                                
[build]   Failed:    None.                                                                                                                                                                                
[build] Runtime: 46.7 seconds total.                                                                                                                                                                      
[build] Note: Workspace packages have changed, please re-source setup files to use them.
ROS_VERSION=1
ROS_PYTHON_VERSION=3
ROS_PACKAGE_PATH=/tmp/devel/workspace/src/aig:/opt/ros/noetic/share:/opt/openrobots/share  # !!!!!!!!!!!!!!! Expected result
ROSLISP_PACKAGE_DIRECTORIES=/tmp/devel/workspace/devel/share/common-lisp
ROS_ETC_DIR=/opt/ros/noetic/etc/ros
ROS_MASTER_URI=http://localhost:11311
ROS_ROOT=/opt/ros/noetic/share/ros
ROS_DISTRO=noetic
-------------------------------------------------------------------------------------
Profile:                     default
Extending:          [cached] /opt/ros/noetic:/opt/gurobi951/linux64/:/opt/openrobots/
Workspace:                   /tmp/devel/workspace
-------------------------------------------------------------------------------------
Build Space:        [exists] /tmp/devel/workspace/build
Devel Space:        [exists] /tmp/devel/workspace/devel
Install Space:      [unused] /tmp/devel/workspace/install
Log Space:          [exists] /tmp/devel/workspace/logs
Source Space:       [exists] /tmp/devel/workspace/src
DESTDIR:            [unused] None
-------------------------------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
-------------------------------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
-------------------------------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
-------------------------------------------------------------------------------------
Workspace configuration appears valid.
-------------------------------------------------------------------------------------
[build] Found '1' packages in 0.0 seconds.                                                                                                                                                                
[build] Package table is up to date.                                                                                                                                                                      
Starting  >>> aig                                                                                                                                                                                         
Finished  <<< aig                [ 2.3 seconds ]                                                                                                                                                          
[build] Summary: All 1 packages succeeded!                                                                                                                                                                
[build]   Ignored:   None.                                                                                                                                                                                
[build]   Warnings:  None.                                                                                                                                                                                
[build]   Abandoned: None.                                                                                                                                                                                
[build]   Failed:    None.                                                                                                                                                                                
[build] Runtime: 2.3 seconds total.                                                                                                                                                                       
ROS_VERSION=1
ROS_PYTHON_VERSION=3
ROS_PACKAGE_PATH=/opt/ros/noetic/share:/opt/openrobots/share  # !!!!!!!!!!!!!!!!!!!!!!! HERE IS THE ISSUE !!!!!!!!!!!!!!
ROSLISP_PACKAGE_DIRECTORIES=
ROS_ETC_DIR=/opt/ros/noetic/etc/ros
ROS_MASTER_URI=http://localhost:11311
ROS_ROOT=/opt/ros/noetic/share/ros
ROS_DISTRO=noetic

In order to get the correct behavior simply change the aig branch to devel and update the submodule, it should point to the commit 53b9790:

# wrong behavior
source /opt/ros/noetic/setup.bash # Can be any ros1 version
cd /tmp
mkdir -p devel/workspace/src
cd devel/workspace/src
git clone --recursive https://github.com/Gepetto/aig.git -b devel
cd ..
catkin build
source devel/setup.bash
env | grep ROS
catkin build
source devel/setup.bash
env | grep ROS

Expected output:

Cloning into 'aig'...
remote: Enumerating objects: 1450, done.
remote: Counting objects: 100% (314/314), done.
remote: Compressing objects: 100% (219/219), done.
remote: Total 1450 (delta 170), reused 149 (delta 90), pack-reused 1136
Receiving objects: 100% (1450/1450), 2.31 MiB | 11.42 MiB/s, done.
Resolving deltas: 100% (913/913), done.
Submodule 'cmake' (https://github.com/jrl-umi3218/jrl-cmakemodules.git) registered for path 'cmake'
Cloning into '/tmp/devel/workspace/src/aig/cmake'...
remote: Enumerating objects: 4594, done.        
remote: Counting objects: 100% (1098/1098), done.        
remote: Compressing objects: 100% (522/522), done.        
remote: Total 4594 (delta 584), reused 949 (delta 523), pack-reused 3496        
Receiving objects: 100% (4594/4594), 2.24 MiB | 4.36 MiB/s, done.
Resolving deltas: 100% (2548/2548), done.
Submodule path 'cmake': checked out '53b97908d7cd5cf58a30a309cfda85151eba8033'
-------------------------------------------------------------------------------------
Profile:                     default
Extending:             [env] /opt/ros/noetic:/opt/gurobi951/linux64/:/opt/openrobots/
Workspace:                   /tmp/devel/workspace
-------------------------------------------------------------------------------------
Build Space:        [exists] /tmp/devel/workspace/build
Devel Space:        [exists] /tmp/devel/workspace/devel
Install Space:      [unused] /tmp/devel/workspace/install
Log Space:         [missing] /tmp/devel/workspace/logs
Source Space:       [exists] /tmp/devel/workspace/src
DESTDIR:            [unused] None
-------------------------------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
-------------------------------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
-------------------------------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
-------------------------------------------------------------------------------------
Workspace configuration appears valid.

NOTE: Forcing CMake to run for each package.
-------------------------------------------------------------------------------------
[build] Found '1' packages in 0.0 seconds.                                                                                                                                                                
[build] Updating package table.                                                                                                                                                                           
Starting  >>> catkin_tools_prebuild                                                                                                                                                                       
Finished  <<< catkin_tools_prebuild                [ 1.1 seconds ]                                                                                                                                        
Starting  >>> aig                                                                                                                                                                                         
Finished  <<< aig                                  [ 46.1 seconds ]                                                                                                                                       
[build] Summary: All 2 packages succeeded!                                                                                                                                                                
[build]   Ignored:   None.                                                                                                                                                                                
[build]   Warnings:  None.                                                                                                                                                                                
[build]   Abandoned: None.                                                                                                                                                                                
[build]   Failed:    None.                                                                                                                                                                                
[build] Runtime: 47.2 seconds total.                                                                                                                                                                      
[build] Note: Workspace packages have changed, please re-source setup files to use them.
ROS_VERSION=1
ROS_PYTHON_VERSION=3
ROS_PACKAGE_PATH=/tmp/devel/workspace/src/aig:/opt/ros/noetic/share:/opt/openrobots/share # !!!!!!!!!!!!!!! Expected result
ROSLISP_PACKAGE_DIRECTORIES=/tmp/devel/workspace/devel/share/common-lisp
ROS_ETC_DIR=/opt/ros/noetic/etc/ros
ROS_MASTER_URI=http://localhost:11311
ROS_ROOT=/opt/ros/noetic/share/ros
ROS_DISTRO=noetic
-------------------------------------------------------------------------------------
Profile:                     default
Extending:          [cached] /opt/ros/noetic:/opt/gurobi951/linux64/:/opt/openrobots/
Workspace:                   /tmp/devel/workspace
-------------------------------------------------------------------------------------
Build Space:        [exists] /tmp/devel/workspace/build
Devel Space:        [exists] /tmp/devel/workspace/devel
Install Space:      [unused] /tmp/devel/workspace/install
Log Space:          [exists] /tmp/devel/workspace/logs
Source Space:       [exists] /tmp/devel/workspace/src
DESTDIR:            [unused] None
-------------------------------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
-------------------------------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
-------------------------------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
-------------------------------------------------------------------------------------
Workspace configuration appears valid.
-------------------------------------------------------------------------------------
[build] Found '1' packages in 0.0 seconds.                                                                                                                                                                
[build] Package table is up to date.                                                                                                                                                                      
Starting  >>> aig                                                                                                                                                                                         
Finished  <<< aig                [ 0.5 seconds ]                                                                                                                                                          
[build] Summary: All 1 packages succeeded!                                                                                                                                                                
[build]   Ignored:   None.                                                                                                                                                                                
[build]   Warnings:  None.                                                                                                                                                                                
[build]   Abandoned: None.                                                                                                                                                                                
[build]   Failed:    None.                                                                                                                                                                                
[build] Runtime: 0.5 seconds total.                                                                                                                                                                       
ROS_VERSION=1
ROS_PYTHON_VERSION=3
ROS_PACKAGE_PATH=/tmp/devel/workspace/src/aig:/opt/ros/noetic/share:/opt/openrobots/share # !!!!!!!!!!!!!!! Expected result
ROSLISP_PACKAGE_DIRECTORIES=/tmp/devel/workspace/devel/share/common-lisp
ROS_ETC_DIR=/opt/ros/noetic/etc/ros
ROS_MASTER_URI=http://localhost:11311
ROS_ROOT=/opt/ros/noetic/share/ros
ROS_DISTRO=noetic

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

No branches or pull requests

2 participants