Skip to content

ROS package.xml: do not depend on boost#2171

Merged
jlblancoc merged 1 commit intodevelopfrom
jlblancoc-patch-1
Jun 18, 2025
Merged

ROS package.xml: do not depend on boost#2171
jlblancoc merged 1 commit intodevelopfrom
jlblancoc-patch-1

Conversation

@jlblancoc
Copy link
Copy Markdown
Member

GTSAM could be built now without boost, so let's not propagate the dependency downstream.

LMK if I'm wrong, but boost should be completely optional by now, right?

If you could also please merge this into the release 4.3 branch, I will create a new ROS release from that to see how it goes... 🤞

GTSAM could be built now without boost, so let's not propagate the dependency downstream.
@ProfFan
Copy link
Copy Markdown
Collaborator

ProfFan commented Jun 14, 2025

Serialization is still on boost

@ProfFan
Copy link
Copy Markdown
Collaborator

ProfFan commented Jun 14, 2025

We might really start to consider using Cereal for the serialization (optionally). But we probably still want binary compatibility with older serialized files using boost::serialization...

@jlblancoc
Copy link
Copy Markdown
Member Author

Hmm... but so the current state is, if we try to build w/o Boost: does not build? or builds but it "only" lacks serialization?
Because it would be great to have a ros package that does not introduce the many boost packages as build dependencies (think e.g. on minimal docker images).

@ProfFan
Copy link
Copy Markdown
Collaborator

ProfFan commented Jun 15, 2025

It totally builds and works, just there's no serialization

@jlblancoc
Copy link
Copy Markdown
Member Author

Great! Then, if you all agree with the ROS package of GTSAM not having serialization (with the gain of being lighter), this PR could be merged. Mentioned on ROS discourse here too.

@dellaert
Copy link
Copy Markdown
Member

I have no objection to that.

@dellaert
Copy link
Copy Markdown
Member

@ProfFan if you agree please merge.
One doubt, @jlblancoc , the default flags seem to build with boost:

############### Decide on BOOST ######################################
# Enable or disable serialization with GTSAM_ENABLE_BOOST_SERIALIZATION
option(GTSAM_ENABLE_BOOST_SERIALIZATION "Enable Boost serialization" ON)
option(GTSAM_USE_BOOST_FEATURES "Enable Features that use Boost" ON)

if(GTSAM_ENABLE_BOOST_SERIALIZATION OR GTSAM_USE_BOOST_FEATURES)
include(cmake/HandleBoost.cmake)
endif()
######################################################################

So some process on ros build will need to turn them off.

@jlblancoc
Copy link
Copy Markdown
Member Author

Thanks for the pointer Frank! Yes, we'll probably need to turn that off, via cmake cli flags, no need to touch gtsam upstream.
So, I'm merging this one 👍

@jlblancoc jlblancoc merged commit 7687517 into develop Jun 18, 2025
39 checks passed
@jlblancoc jlblancoc deleted the jlblancoc-patch-1 branch June 18, 2025 14:20
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

Successfully merging this pull request may close these issues.

3 participants