-
Notifications
You must be signed in to change notification settings - Fork 280
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_make_isolated should allow building individual packages #322
Conversation
I think at some point on build errors, the make command invocation was printed for easy reproduction on a failed build. That would also be helpful if nothing else is provided. |
Every command that is run is presented as You can do That being said, having it build up to a given package would be a nice feature. Telling it to explicitly build one package (ignoring the state of the packages which proceed it) is not possible, because the env.sh from the previous packages might not exist. This was possible in rosmake because the exporting of flags between packages was manual and static, so the state of the package you are getting them from wasn't checked, i.e. one of your dependencies could give you -lfoo when foo hasn't been built. I can also add the exact command to run to reproduce the most recent error when a build fails, I think that would be useful. |
Ah, I see, I use a black-on-white color scheme, I guess you assigned a very bright color to the message with env.sh, so I cannot see it in my terminal. Don't you know that white on black is sooo 20th century? :-) In any case, that's not too great, want me to open a different ticket on the color scheme? |
Yeah, the problem is that the color scheme should really be tailored to the terminal... Black on white hurts my eyes 👀. I spent a bit of time trying with different colors. You can open another ticket, and screenshots would be useful for me to see how I might change it. I think I can just use the uncolored text more effectively. |
@tkruse can you open a separate issue for the improved command failure error message which provides the user with a complete command to reproduce the latest error? We can leave this issue explicitly for invoking individual packages and what ever that might entail. |
I think #320 fixed error message already. Still having some command would On Sat, Jan 19, 2013 at 1:36 AM, William Woodall
|
Coming back to the original question, you said: "Telling it to explicitly build one package (ignoring the state of the packages which proceed it) is not possible, because the env.sh from the previous packages might not exist. This was possible in rosmake because the exporting of flags between packages was manual and static, so the state of the package you are getting them from wasn't checked, i.e. one of your dependencies could give you -lfoo when foo hasn't been built." Now I am quite fine if the build of a single package fails if a prerequisite is not met. |
So would that mean that just adding an easy to see and copy one line command would be sufficient? Or does cmi need to support directly building one package for you? In rosmake if you build a single package all of the deps are checked/built, and in order to directly build one package you have to invoke make directly in the package folder, circumventing the rosmake stuff. So, I think that having a clear command to reproduce the various commands used in each package build would be sufficient. |
As I said, my use-case is that of developping in one package, and just For that, I want an easily visible command to do that. this could be part If it were possible I'd love to just call make in On Tue, Jan 22, 2013 at 7:37 PM, William Woodall
|
@dirk-thomas and @tkruse for review |
catkin_make_isolated should allow building individual packages
Currently going into build_isolated/packagename and running make or cmake does not work, nor do I see any other easy way of running that build in isolation, I guess the env.sh file is required, but it should be easier to do this, IMO.
Would be less urgent if catkin_make_isolated had rosbuild parallelity.