Skip to content

Build

Troubleshooting Banner


Build Troubleshooting#

Package not found after build#

Source your ros2 workspace before running any ros2 commands:

source install/setup.bash

ModuleNotFoundError: No module named 'micipsa_common' or No module named 'utils'#

Symptom: A consuming package's launch file fails at runtime with an import error for either Python package.

Cause: micipsa_common has not been built, the install overlay has not been sourced, or the consuming package is missing the exec_depend/depend entry in its package.xml.

Fix:

colcon build --packages-select micipsa_common
source install/setup.bash

Verify the dependency is declared in the consuming package's package.xml.


fatal error: micipsa_common/time.h: No such file or directory#

Symptom: A C++ package fails to compile with a missing header error.

Cause: The consuming package's CMakeLists.txt is missing find_package(micipsa_common REQUIRED), or its package.xml is missing the corresponding dependency declaration.

Fix: Add find_package(micipsa_common REQUIRED) to the consuming package's CMakeLists.txt, link the target against it, and declare <depend>micipsa_common</depend> in its package.xml.


Build fails looking for the utils package directory#

Symptom: colcon build --packages-select micipsa_common fails with a missing directory error referencing common/utils.

Cause: The package is being built outside the full Micipsa workspace, where the sibling common/utils directory referenced by CMakeLists.txt does not exist at the expected relative path.

Fix: Build within the complete Micipsa workspace layout, where common/utils exists alongside the package source tree.


Symptom: colcon build fails with errors about missing catkin_package, CATKIN_PACKAGE_LIB_DESTINATION, or similar.

Cause: The wjwwood/serial library has not been patched for ament.

Fix: Follow the instructions in Patching the Serial Library to replace the catkin CMake blocks with ament-compatible equivalents, then rebuild.


serial library not found during build#

Symptom: CMake cannot find the serial package even after patching.

Cause: The patched serial repository has not been built yet, or was built after micipsa_core in the same colcon build invocation.

Fix: Build serial first, then build micipsa_core:

colcon build --packages-select serial
colcon build --packages-select micipsa_core

Changes to a .msg file are not reflected#

Symptom: A field added or modified in AprilTagPose.msg or AprilTagPoseArray.msg does not appear when running ros2 interface show.

Cause: Message bindings are generated at build time by rosidl_default_generators. Editing the .msg file alone does not regenerate the installed interface.

Fix: Rebuild the package and re-source the overlay:

colcon build --packages-select micipsa_msgs
source install/setup.bash