You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/faq/known_issues.md
+57-15Lines changed: 57 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,5 @@
1
+
<!-- cspell:ignore Drclcpp Dtracetools -->
2
+
1
3
# Known issues
2
4
3
5
## Install
@@ -63,30 +65,32 @@ export PYTHONWARNINGS=ignore:"setup.py install is deprecated.",ignore:"easy_inst
63
65
- Cause
64
66
-`~/ros2_caret_ws/install/tracetools/lib/libtracetools.so` needs to be linked, but `/opt/ros/humble/lib/libtracetools.so` is referred when using some packages
65
67
- For instance, `pcl_ros` package has `/opt/ros/humble/share/pcl_ros/cmake/export_pcl_rosExport.cmake` which enforces `/opt/ros/humble/lib/libtracetools.so` to be linked
66
-
- Workaround
68
+
- Workaround 1
67
69
- Remove `/opt/ros/humble/lib/libtracetools.so;` from `/opt/ros/humble/share/pcl_ros/cmake/export_pcl_rosExport.cmake`
sudo sed -i -e 's/\/opt\/ros\/humble\/lib\/libtracetools.so;//g' /opt/ros/humble/share/pcl_ros/cmake/export_pcl_rosExport.cmake
72
74
```
73
75
74
-
### Build using ament_cmake
76
+
- Workaround 2
77
+
- If the error persists after applying workaround 1, modify all libraries
75
78
76
-
- Issue
77
-
- The following error happens when building a target application using ament_cmake
78
-
-`error: too few arguments to function ‘void ros_trace_rclcpp_publish`
79
-
- Cause
80
-
-`SYSTEM` is added as dependencies in ament_cmake_auto by [this PR](https://github.com/ament/ament_cmake/commit/799183ab9bcfd9b66df0de9b644abaf8c9b78e84). As a result, ros2/rclcpp is used rather than CARET/rclcpp in some packages
81
-
- Workaround
82
-
- Remove `SYSTEM` from dependencies in ament_cmake_auto
sudo sed -i 's|/opt/ros/humble/lib/libtracetools.so;||g'"$f"
85
+
done
86
+
```
87
+
88
+
- Workaround 3
89
+
- If the error persists even after applying workaround 1 and 2, ensure that the CARET tracetools library is used by explicitly setting `-Dtracetools_DIR`
90
+
- This can occur especially when the target application is built with `--merge-install`
@@ -103,14 +107,52 @@ sudo sed -i -e 's/SYSTEM//g' ament_auto_add_library.cmake
103
107
- Cause
104
108
- To build with CARET, caret/rclcpp should be used. However, in case rclcpp in SYSTEM ( `/opt/ros/humble` ) is used for some reasons, build will fail
105
109
- Take `pcl_ros` for example, `/opt/ros/humble/share/pcl_ros/cmake/export_pcl_rosExport.cmake` enforces `/opt/ros/humble/include/rclcpp` to be referred. So that caret/rclcpp is not used and building a package depending on `pcl_ros` will fail
106
-
- Workaround
110
+
- Workaround 1
107
111
- Remove `/opt/ros/humble/include/rclcpp;` from `/opt/ros/humble/share/pcl_ros/cmake/export_pcl_rosExport.cmake`
- The following error happens when building a target application using ament_cmake
142
+
-`error: too few arguments to function ‘void ros_trace_rclcpp_publish`
143
+
- Cause
144
+
-`SYSTEM` is added as dependencies in ament_cmake_auto by [this PR](https://github.com/ament/ament_cmake/commit/799183ab9bcfd9b66df0de9b644abaf8c9b78e84). As a result, ros2/rclcpp is used rather than CARET/rclcpp in some packages
145
+
- Workaround
146
+
- Remove `SYSTEM` from dependencies in ament_cmake_auto
0 commit comments