Catkin_make EVERY time I load up VM

I found a huge issue. For some reason I have to recompile my workspace every time I load up the training VM. If I launch a script I get messages like this:

Traceback (most recent call last):
File “/home/user/catkin_ws/src/my_sphero_main/src/”, line 6, in
from my_sphero_main.srv import SpheroTurn, SpheroTurnResponse, SpheroTurnRequest
ImportError: No module named my_sphero_main.srv

Usually that indicates that I have to source the setup.bash again, however that doesnt fix it. I actually have to run catkin_make again in order to fix the issue.

Edit: I switched to a different chapter and back to investigate. If I do rosrun or roslaunch, it autocompletes my packages, so that part works, however, the messages and services seem to be broken. The message files ARE in catkin_ws/devel. I’m not sure what is going on here

Hi Simon,

Thanks for the feedback. Let us investigate why this may be happening and get back to you.

Hi @simon.steinmann91, a couple of hours ago we put on production the changes to automatically compile the catkin_ws whenever you open a course.

If your import doesn’t work right away, try waiting for 20 seconds and run your ROS Node again because if it fails, it may be because it is still compiling in background.

Please let us know if the problem still persists.

thanks for the info. Question: with the tons of packages that accumulate during the course, compiling the workspace takes longer and longer. What is the best way to “deactivate” old packages that I dont want to compile anymore, but still want to have access to, in order to read the code. should I just move them to a new folder like ~/catkin_ws/src_backup/ ?

Hi @simon.steinmann91,

we still haven’t thought of a way of disabling the automatic compilation for specific packages, but since on the ROS_PACKAGE_PATH what we have is ~/catkin_ws/src, I believe that putting on catkin_ws/src_backup would do the trick until we find another way :+1:.

I dont have the issue anymore. Dont even have to source devel/setup.bash (eventhough it is not in the .bashrc)


We are now sourcing catkin_ws/devel/setup.bash on .bash_aliases since it is automatically sourced by .bashrc, @simon.steinmann91.

Great to hear from you that everything runs as expected :wink:

ohhh thanks for the info. I see it :slight_smile:
Is .bash_aliases saved? Meaning, can we add our own aliases?

On ROSDS it is saved, but on Ignite it is not.

I think I’ll create one file called .bash_rosds that will be automatically sourced. That file will contain the current content of .bash_aliases so that users can use .bash_aliases for their own aliases. We can then persist the .bash_aliases.

Ok, I’ll work on this. It may be on production by tomorrow. But feel free to share any suggestions you may have. We really appreciate.

1 Like