4 ms·
Did they fix the build system or are they still going to use the weird catkin build system? I read the article, but it didn't mention it. I ask, because it has
by Seanny123 9y ago
Did they fix the build system or are they still going to use the weird catkin build system? I read the article, but it didn't mention it. I ask, because it has been consistently the most difficult part of using ROS for myself and everyone I know. Alternatively, is the difficulty I've experienced more of an indication of build systems being complicated things?
- fest 9y agoI have only used ROS for a few simple projects, but I found catkin (which is actually a thin wrapper around cmake) relatively easy to grasp. As far as I know, catkin is actually an improvement over previous build system, rosbuild. You can look up more informed and lengthy threads/holywars about build systems, but in my experience, they always end up being complex for large projects. Some IDEs try to hide the complexity behind dozens of GUI tabs (build settings), but that usually makes headless/CI builds complicated, and sometimes even impossible. Also, what I have seen a lot is: when people are struggling with build systems, they usually don't have a clear understanding of major underlying steps that need to be performed to build the executable: invoke compiler to compile individual source files to corresponding object files (with correct include paths and compiler flags for architecture) and then invoke linker to link them and any required libraries together, producing an output executable. Once this process is clear, reading the documentation of particular build system to achieve what you need gets a lot easier.
- ratliffchrisb 9y agoThey are moving to ament. http://design.ros2.org/articles/ament.html http://design.ros2.org/articles/ament.html I think a lot of the difficulty is in the build system being federated. This makes it complex as it supports multiple build other systems for other ROS packages. I haven't looked into it much yet, but I'm curious about ROS 2 also supporting ROS on smaller micros now. I think this would make the build system more complex. Modifying the how the devel space is handled seems like an improvement and making it more modular seems like it should help though.