-
Notifications
You must be signed in to change notification settings - Fork 3
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
New class loader #8
base: master
Are you sure you want to change the base?
Conversation
In a Rock-workspace
According to the CMakeCache |
We could try upgrading rock's version of |
I am confused about console_bridge. What is it? Is the console_bridge from https://github.com/rock-core/base-console_bridge the same that is installed via libconsole-bridge-dev? I would guess not, but how are they related? |
https://github.com/rock-core/base-console_bridge fakes the ros console bridge api to be able to use those packages witout dependency to roscpp/rclcpp |
It looks like the plugin_manager is mostly used by envire, where it is actually optional. Do we know, if this envire::ClassLoader (which seems to be a rather thin wrapper around plugin_manager) is actually used in our stack? Maybe in mars (@malter )? Maybe we can just safely remove it, else I would suggest to look for another Plugin implementation or see if we can implement this here to work without the class_loader, which is in its current form a part of the ROS eco system. |
We could compile classlaoder with a differnet libname so the plugin_manager can specifically link to that version, like "libclass_loader_envire.so"? Wehn we also adapt the cmake config and pkg-config, we shouldn't ha an issue with having both installed |
I looked a bit deeper into it, and it keeps getting more confusing to me. Apparently console_bridge (https://github.com/ros/console_bridge) is ros independent and is meant as a interface to some framework specific logging mechanism. So in order to use it, one would have to use the CONSOLE_BRIDGE_LOG_DEBUG / INFO etc... macros inside the code, or am I missing something here? This interface should then be implemented for rock, as was done for the ros world. What does base/console_bridge achieve in its current state? |
I think base/console_bridge does exactly what you describe, i.e. it provides the |
If I understand @skasperski correctly the main issue is to get (a current version of) https://github.com/ros/class_loader/ compile (and install) properly without pulling in lots of ROS dependencies. |
Shall we file an issue at https://github.com/ros/class_loader/tree/rolling whether it is possible to remove the dependency to rcpputils and rcutils? |
|
Changes the plugin-manager so that it uses the current version of class_loader. In a ROS setup it means that the class loader from ROS' apt-packages can be used.