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

ros-noetic-mrpt2 dependencies #1282

Open
ihadzic opened this issue Aug 11, 2023 · 1 comment
Open

ros-noetic-mrpt2 dependencies #1282

ihadzic opened this issue Aug 11, 2023 · 1 comment

Comments

@ihadzic
Copy link

ihadzic commented Aug 11, 2023

The ros-noetic-mrpt2 package seems to be rather heavy on dependencies. It pulls various QT and other GUI-related packages, which then start pulling all kinds of desktop packages.

On many installations these are unnecessary. If running on the robot (i.e. an embedded system) which has no display and runs minimal installation of Ubuntu, these extra dependencies are just clutter. I am assuming that these GUI packages are necessary if one is using visualization features inherent to MRPT, but ROS has its own visualization and debugging tools which typically run outside the robot and communicate the data.

How hard would it be to separate the packages in, say, ros-noetic-mrpt2 and ros-noetic-mrpt-2-core, where the latter would be just the guts of the math-crunching functions and the former would be for those who need full features of MRPT (presumably on desktop)? The latter could be a dependency of the former but if installed alone, it would give the minimal set of features without functionality that would require desktop/GUI.

@jlblancoc
Copy link
Member

jlblancoc commented Aug 13, 2023

That makes a lot of sense, and I'm aware of the lot of dependencies implied by installing mrpt2... It's not been done yet because it's far from trivial, here upstream, and from the ROS packaging itself.

Unlike Debian / Ubuntu, ROS build farms are prepared to create one single .deb file for each ROS package, that's why everything is together right now.

(Totally) removing all the GUI and opengl stuff and then adding a second package that includes the optional GUI stuff is not doable since mrpt-gui and mrpt-opengl are "core" parts...

Something that has been in my mind for a long time, though, is creating a separate ROS package for the libraries, and another for the applications only.

Dropping the whole Qt might be accepted if we leave out the unique app that depends on it ("robot-map-gui").

I'll try to investigate an idea:

  • Create a couple of "dummy" package subdirectories, each generating ROS packages with (1) the libraries, and (2) the apps.
  • Remove the root package.xml
  • If it works, make a new release.

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