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

uros/rcl: RCL_COMMAND_LINE_ENABLED requires RCL_LOGGING_ENABLED? #568

Closed
gavanderhoorn opened this issue Aug 16, 2022 Discussed in #557 · 2 comments
Closed

uros/rcl: RCL_COMMAND_LINE_ENABLED requires RCL_LOGGING_ENABLED? #568

gavanderhoorn opened this issue Aug 16, 2022 Discussed in #557 · 2 comments

Comments

@gavanderhoorn
Copy link

(not sure whether this is the correct venue, but micro-ROS/rcl doesn't have the tracker enabled)

Just wanted to ask whether micro-ROS/rcl/rcl requires RCL_LOGGING_ENABLED if RCL_COMMAND_LINE_ENABLED is enabled?

I'm running into unresolved symbol errors when loading a binary linked against a libmicroros.a which was built with RCL_LOGGING_ENABLED:OFF and RCL_COMMAND_LINE_ENABLED:ON (to get access to rcl_parse_arguments(..)).

Specifically: rcl_log_levels_fini, rcl_log_levels_copy, rcl_log_levels_init, rcl_log_levels_shrink_to_size, rcl_get_zero_initialized_log_levels and rcl_log_levels_add_logger_setting, which all appear to be used in rcl/arguments.c (rcl_get_zero_initialized_log_levels() here for instance).

(transferred from #557)

@pablogs9
Copy link
Member

pablogs9 commented Aug 22, 2022

RCL_COMMAND_LINE_ENABLED is not intended to be enabled in micro-ROS as far as the is no CLI handling in micro-ROS.

@gavanderhoorn
Copy link
Author

gavanderhoorn commented Aug 22, 2022

I understand.

But it seems to be necessary to get access to rcl_parse_arguments(..), which is needed to get remapping working (at least until ros2/rcl#998 is addressed).

Would you know of another way to get remapping working?

The ROS 2 feature comparison table has this to say for the Static remapping of ROS names item:

Should be available if passed as argument via standard rcl API – to be checked.

I checked, and it does appear to work. But not without RCL_COMMAND_LINE_ENABLED (and RCL_LOGGING_ENABLED).

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

2 participants