-
Notifications
You must be signed in to change notification settings - Fork 147
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
Using install with catkin build results in devel/setup.bash disabling finding packages in the workspace #577
Comments
For me, it does not even add the install space:
While in the install space:
|
I was seeing slightly different behavior than @nalt when I tried this in an existing ws of mine, but I can reproduce @nalt 's result when I start with a new ws. Here's how:
So I can now describe the problem a little more precisely: when the workspace is configured for install, and the devel space is rebuilt, then |
Is there no resolution to this? I'm running into this as well with ROS melodic. |
I don't think there's really any sane way to support this. Each package needs an environment to build in, and in Potentially what you want is like an "also install" mode, where you basically get the normal devel build, where each package uses the devel space of its dependencies, but runs |
That's exactly what I want. The reason why I want it is because quick testing of e.g. python ROS nodes becomes more cumbersome with |
As an alternative you can use |
System Info
Build / Run Issue
If one configures their workspace for installation then sources
devel/setup.bash
, common rosbash commands no longer work as desired because these commands find packages in the install space before the workspace. This causes a lot of headaches when developing in workspaces that are configured for installation.Expected Behavior
For example, after running
source devel/setup.bash
, a command likerosed my-pkg my-launch-file
should editmy-launch-file
inmy-pkg
in the workspace (if in factmy-pkg
is a package in the workspace).Actual Behavior
Staying with the above example, what will happen is
rosed my-pkg my-launch-file
will editmy-launch-file
in the install space instead of the workspace.Steps to Reproduce the Issue
If one configures any workspace for installation and builds i.e.
and the workspace has a pkg
X
, then do the following:This will change your directory to the
X
package in the install space, and not the workspace like it should.Hint
Going a little deeper: when the problem occurs, you'll see that
ROS_PACKAGE_PATH
lists the install space before the workspace packages. I see thatROS_PACKAGE_PATH
is generated from theCMAKE_PREFIX_PATH
indevel/_setup_util.py
, and that in the__main__
function of_setup_util.py
, there is line of the formI think that the install-space path should come last in the line above.
The text was updated successfully, but these errors were encountered: