-
Notifications
You must be signed in to change notification settings - Fork 148
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
build: Generate .catkin file when using merged develspace and catkin in "parallel-safe" mode #78
Comments
Thanks for keeping track of this issue and for looking into it originally. I really appreciate the help. |
This is still a problem, and in my opion is a pretty big problem with catkin tools right now. Sometimes after running Here's a test script that will generate a workspace with a bunch of packages and try to elicit the problem: https://gist.github.com/jonbinney/0a09e57db3676e0bd29f Note that while having lots of packages and having a carefully crafted cmakelists.txt in the test script causes the bug to happen more often, the bug exists for any workspace. In practice I run into this bug several times a week during normal ROS development. |
@jonbinney did you ever run this with the These are the solutions as I see them:
The first option is tied up in the #196 pr, which is going slowly, and the second option seems like a lot of work. I'd say that the best short term solution would be to implement the work around of option 3 and then replace it with option 1 when #196 gets merged. I don't have time to implement the work around, but maybe a pioneering individual would be willing to make the patch. |
@wjwwood I was testing |
@jonbinney You have to set it with |
Running test now with |
Confirmed, works 100 times out of 100 with |
Another option would be to make |
Aside from being slow |
An added advantage of |
I'm fine with install, as long as the devel space is gone. My biggest concern is that right now most people run |
-1 for making The devel space has many advandtages over install for developers (in particular for Python), and we are talking about mostly developer users for now, I presume. I would guess that many defs have come to rely on them, even if they might not be aware of the mechanics. I have not come across a signle instance of someone actually using the install space for development (for anything, really, except maybe for from-source installs of a base ROS system) in daily work. Moreover, I frequently come across (unreleased) packages that are not properly configured for installation and thus only work with the devel space as-is. Thus making I wounder how much effort @wjwwood's third suggestion would really be. I haven't dug into it, but I guess all the code for manipulating the
This makes me wounder how easy it would be to extend catkin / catkin_tools to support linked install spaces like ament, but that is a different story. |
@NikolausDemmel My PR (#196) already implements a linked devel space, so creating a linked install space wouldn't be a big leap. |
You're right, without the symlink install option it would be inconvenient to use.
I'm not sure about this, since what I think you're talking about it is doing an isolated install and then do a symlink to a common folder, but that doesn't make it so that you can edit Python files without re-installing. What I think @NikolausDemmel is talking about is how ament cmake packages can replace the cmake install step with symlinking, so the files it installs are just symlinks to either the build folder or the source folder. |
@wjwwood Can we close this now that |
Sure. |
If catkin gets a "parallel-safe" mode, as described in ros/catkin/issues/675, then we could use that to generate a
.catkin
develspace marker file from the information generated by the process described in ros/catkin/issues/674.The text was updated successfully, but these errors were encountered: