-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Use colcon as the build tool #1704
Conversation
This is now ready for review. These changes switch the build tool to |
This does not compile as is because it needs an updated Docker image. @kfunaoka could you add me to the Dockerhub organization so I can upload images? Thanks. |
@esteve Sorry for the very very late responses. I've added you into DockerHub repo. Would you try? |
@kfunaoka thank you so much for adding me to the Docker hub, I just tested it and uploaded an updated image for synquacer. I'll upload images for aarch and driveworks too. |
Here's a CI run https://gitlab.com/esteve/Autoware/pipelines/37505434 Some things:
Once we drop Indigo, the last point won't be an issue. |
I've updated the description with the colcon dependencies:
|
CI now passes: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mark catkin scripts to be deprecated but leave them for now
I haven't tested it but I completely support this PR! |
@esteve Thank you very much! I've tried the colcon_release script at ac52f44a4f. The following error messages appear. It seems msgs are not generated. Should I do something?
Travis also shows the error. |
@kfunaoka I remember @sgermanserrano having the same problem, I think removing CMakeLists.txt fixed it, but I also remember making other changes. Anyway, as @sgermanserrano says, Travis is no longer relevant since we switched to GitLab for the develop branch. Once Autoware 1.10 is released, we can remove Travis and depend on GitLab only. |
@sgermanserrano @esteve Thank you very much! Built successfully! It seems the following
The following manual commands does not work also. Should I do something else?
|
@kfunaoka thanks for testing it. I haven't tried running the runtime manager, let me check and I'll get back to you. |
@kfunaoka I figured out why the runtime_manager is not available. The package files (i.e. CMakeLists.txt) are not properly written and thus the script is not installed. colcon requires all packages to be well-formed with installation targets, since the devel space no longer exists. I'll fix the runtime_manager package and try again. Let's postpone this PR for 1.11 |
@esteve Thank you for finding out the root cause! |
@kfunaoka I've fixed the CMake scripts for the runtime manager, given that 1.10 is now delayed, I'd like to get this merged. Could you have a look and see if it works for you? |
I'm doing further testing because I found a bug in the legacy catkin scripts, unfortunately this is not ready for merging yet. |
I've fixed the issues and the |
@esteve Thanks! I've faced the error at b641679:
Are there any advices to resolve the problem? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@esteve It works! Thank you. Since this branch is not in CPFL, GitLab CI is not triggered. Should this branch is pushed into CPFL/autoware as @sgermanserrano suggested?
https://autoware-developer.slack.com/archives/CEB3KFZK3/p1543230404015400
@kfunaoka thanks for testing it again. I've triggered a build on my Gitlab fork: |
* Switch to colcon as the build tool instead of catkin * Added cmake-target * Added note about the second colcon call * Added warning about catkin* scripts being deprecated * Fix COLCON_OPTS * Added install targets * Update Docker image tags * Message packages fixes * Fix missing dependency
Status
PRODUCTION / DEVELOPMENT
Description
Use the ROS2 build tool (colcon) to build Autoware in preparation of integrating more ROS2 code.
Extra requirements
colcon requires the following packages: