Skip to content
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

Build Errors #508

Closed
brettpac opened this issue Jun 6, 2023 · 7 comments
Closed

Build Errors #508

brettpac opened this issue Jun 6, 2023 · 7 comments

Comments

@brettpac
Copy link
Collaborator

brettpac commented Jun 6, 2023

@brettpac
Copy link
Collaborator Author

brettpac commented Jun 6, 2023

@pabloinigoblasco
Copy link
Contributor

My take on the problem;)... https://answers.ros.org/question/368106/c-fatal-moveit-2-error-killed-signal-terminated-program-cc1plus-compilation/

Yes, I provided that answer to that rosanswer some time ago. It's a common problem I ve been facing for years, especially in large projects. Unfortunately, controlling the compilation process is not currently available for rosbuild farm (as far as I know).

One potential solution is to break the project down into smaller components, like core and examples. This approach could help alleviate the issue.

As for the specific error with smacc_msgs, it's a bit strange that it doesn't occur when using GitHub actions on a clean machine. To address this, it might be worth considering improvements to the CMakefiles to resolve the problem.

nuclearsandwich added a commit to nuclearsandwich/SMACC2 that referenced this issue Jun 16, 2023
ament_lint_auto is not listed as a dependency for smacc2_msgs but is required when BUILD_TESTING is on.

This is causing the build failures mentioned in robosoft-ai#508 (comment)
nuclearsandwich added a commit to nuclearsandwich/SMACC2 that referenced this issue Jun 16, 2023
ament_lint_auto nor ament_lint_common are not listed as dependencies for
smacc2_msgs. ament_lint_auto is required due to the `find_package` call
and while `ament_lint_common` is not mentioned by name, ament_lint_auto
will only work if there are ament_lint packages present for it to
configure.

This is causing the build failures mentioned in
robosoft-ai#508 (comment)
@nuclearsandwich
Copy link
Contributor

As for the specific error with smacc_msgs, it's a bit strange that it doesn't occur when using GitHub actions on a clean machine. To address this, it might be worth considering improvements to the CMakefiles to resolve the problem.

There appears to be an un-expressed test dependency for the humble branch of smacc2_msgs. This can often be masked during CI if the entire repository's dependencies are resolved together and another package in the repository depends on the package. I've proposed #516
to resolve the missing dependency declaration.

@nuclearsandwich
Copy link
Contributor

I'm not sure whether you would prefer a separate issue for the report below or not. Please let me know if so and I'll open the issue.

On Rolling the SMACC2 package is failing to build but it does not appear to be a resource usage issue like the Humble failures linked above. Here is a snippet from the log output of https://build.ros2.org/view/Rbin_uJ64/job/Rbin_uJ64__smacc2__ubuntu_jammy_amd64__binary/92/

00:04:30.200 [  7%] Building CXX object CMakeFiles/smacc2.dir/src/smacc2/client.cpp.o
00:04:30.257 /usr/lib/ccache/c++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_THREAD_DYN_LINK -DDEFAULT_RMW_IMPLEMENTATION=rmw_fastrtps_cpp -DFASTCDR_DYN_LINK -DRCUTILS_ENABLE_FAULT_INJECTION -Dsmacc2_EXPORTS -I/tmp/binarydeb/ros-rolling-smacc2-0.4.0/include -isystem /opt/ros/rolling/include/rclcpp -isystem /opt/ros/rolling/include/smacc2_msgs -isystem /opt/ros/rolling/include/rclcpp_action -isystem /opt/ros/rolling/include/tracetools -isystem /opt/ros/rolling/include/ament_index_cpp -isystem /opt/ros/rolling/include/libstatistics_collector -isystem /opt/ros/rolling/include/builtin_interfaces -isystem /opt/ros/rolling/include/rosidl_runtime_c -isystem /opt/ros/rolling/include/rcutils -isystem /opt/ros/rolling/include/rosidl_typesupport_interface -isystem /opt/ros/rolling/include -isystem /opt/ros/rolling/include/rosidl_runtime_cpp -isystem /opt/ros/rolling/include/rosidl_typesupport_fastrtps_cpp -isystem /opt/ros/rolling/include/rmw -isystem /opt/ros/rolling/include/rosidl_dynamic_typesupport -isystem /opt/ros/rolling/include/rosidl_typesupport_fastrtps_c -isystem /opt/ros/rolling/include/rosidl_typesupport_introspection_c -isystem /opt/ros/rolling/include/rosidl_typesupport_introspection_cpp -isystem /opt/ros/rolling/include/rcl -isystem /opt/ros/rolling/include/rcl_interfaces -isystem /opt/ros/rolling/include/service_msgs -isystem /opt/ros/rolling/include/rcl_logging_interface -isystem /opt/ros/rolling/include/rcl_yaml_param_parser -isystem /opt/ros/rolling/include/type_description_interfaces -isystem /opt/ros/rolling/include/rcpputils -isystem /opt/ros/rolling/include/statistics_msgs -isystem /opt/ros/rolling/include/rosgraph_msgs -isystem /opt/ros/rolling/include/rosidl_typesupport_cpp -isystem /opt/ros/rolling/include/rosidl_typesupport_c -isystem /opt/ros/rolling/include/action_msgs -isystem /opt/ros/rolling/include/unique_identifier_msgs -isystem /opt/ros/rolling/include/std_msgs -isystem /opt/ros/rolling/include/rcl_action -g -O2 -ffile-prefix-map=/tmp/binarydeb/ros-rolling-smacc2-0.4.0=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wall -Wextra -Wpedantic -MD -MT CMakeFiles/smacc2.dir/src/smacc2/client.cpp.o -MF CMakeFiles/smacc2.dir/src/smacc2/client.cpp.o.d -o CMakeFiles/smacc2.dir/src/smacc2/client.cpp.o -c /tmp/binarydeb/ros-rolling-smacc2-0.4.0/src/smacc2/client.cpp
00:04:30.258 In file included from /usr/include/boost/bind.hpp:30,
00:04:43.166                  from /usr/include/boost/statechart/fifo_worker.hpp:14,
00:04:43.166                  from /usr/include/boost/statechart/fifo_scheduler.hpp:12,
00:04:43.166                  from /usr/include/boost/statechart/asynchronous_state_machine.hpp:12,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/common.hpp:23,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/introspection/smacc_state_machine_info.hpp:28,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/introspection/introspection.hpp:297,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/impl/smacc_state_machine_impl.hpp:27,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/impl/smacc_client_impl.hpp:23,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/src/smacc2/client.cpp:21:
00:04:43.166 /usr/include/boost/bind.hpp:36:1: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’
00:04:43.166    36 | BOOST_PRAGMA_MESSAGE(
00:04:43.166       | ^~~~~~~~~~~~~~~~~~~~
00:04:43.166 In file included from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/impl/smacc_state_machine_impl.hpp:47,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/impl/smacc_client_impl.hpp:23,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/src/smacc2/client.cpp:21:
00:04:43.166 /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/smacc_tracing/smacc_tracing.hpp:27:21: error: expected constructor, destructor, or type conversion before ‘(’ token
00:04:43.166    27 |   DECLARE_TRACEPOINT(spinOnce)
00:04:43.166       |                     ^
00:04:43.166 In file included from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/impl/smacc_client_impl.hpp:23,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/src/smacc2/client.cpp:21:
00:04:43.166 /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/impl/smacc_state_machine_impl.hpp: In member function ‘void smacc2::ISmaccStateMachine::createOrthogonal()’:
00:04:43.166 /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/impl/smacc_state_machine_impl.hpp:96:46: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse]
00:04:43.166    96 |   std::lock_guard<std::recursive_mutex> guard();
00:04:43.166       |                                              ^~
00:04:43.166 In file included from /opt/ros/rolling/include/rclcpp/rclcpp/service.hpp:35,
00:04:43.166                  from /opt/ros/rolling/include/rclcpp/rclcpp/callback_group.hpp:28,
00:04:43.166                  from /opt/ros/rolling/include/rclcpp/rclcpp/any_executable.hpp:20,
00:04:43.166                  from /opt/ros/rolling/include/rclcpp/rclcpp/memory_strategy.hpp:25,
00:04:43.166                  from /opt/ros/rolling/include/rclcpp/rclcpp/memory_strategies.hpp:18,
00:04:43.166                  from /opt/ros/rolling/include/rclcpp/rclcpp/executor_options.hpp:20,
00:04:43.166                  from /opt/ros/rolling/include/rclcpp/rclcpp/executor.hpp:37,
00:04:43.166                  from /opt/ros/rolling/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
00:04:43.166                  from /opt/ros/rolling/include/rclcpp/rclcpp/executors.hpp:21,
00:04:43.166                  from /opt/ros/rolling/include/rclcpp/rclcpp/rclcpp.hpp:167,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/introspection/introspection.hpp:30,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/impl/smacc_state_machine_impl.hpp:27,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/impl/smacc_client_impl.hpp:23,
00:04:43.166                  from /tmp/binarydeb/ros-rolling-smacc2-0.4.0/src/smacc2/client.cpp:21:
00:04:43.166 /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/impl/smacc_state_machine_impl.hpp: In member function ‘void smacc2::ISmaccStateMachine::postEvent(EventType*, smacc2::EventLifeTime)’:
00:04:43.166 /tmp/binarydeb/ros-rolling-smacc2-0.4.0/include/smacc2/impl/smacc_state_machine_impl.hpp:180:3: error: ‘ros_trace_smacc2_event’ was not declared in this scope
00:04:43.166   180 |   TRACEPOINT(smacc2_event, eventtypename);
00:04:43.166       |   ^~~~~~~~~~
00:04:43.166 make[4]: *** [CMakeFiles/smacc2.dir/build.make:93: CMakeFiles/smacc2.dir/src/smacc2/client.cpp.o] Error 1

brettpac pushed a commit that referenced this issue Jun 17, 2023
ament_lint_auto nor ament_lint_common are not listed as dependencies for
smacc2_msgs. ament_lint_auto is required due to the `find_package` call
and while `ament_lint_common` is not mentioned by name, ament_lint_auto
will only work if there are ament_lint packages present for it to
configure.

This is causing the build failures mentioned in
#508 (comment)
destogl pushed a commit to robosoft-ai/smacc2_doxygen that referenced this issue Jun 17, 2023
ament_lint_auto nor ament_lint_common are not listed as dependencies for
smacc2_msgs. ament_lint_auto is required due to the `find_package` call
and while `ament_lint_common` is not mentioned by name, ament_lint_auto
will only work if there are ament_lint packages present for it to
configure.

This is causing the build failures mentioned in
robosoft-ai/SMACC2#508 (comment) robosoft-ai/SMACC2@d198fc6
@brettpac
Copy link
Collaborator Author

@brettpac
Copy link
Collaborator Author

Pinging @nuclearsandwich

@brettpac
Copy link
Collaborator Author

Finally working

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants