-
Notifications
You must be signed in to change notification settings - Fork 774
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 failure for tests with GCC 13 #1738
Comments
Seems like GCC fixed a bug it had because we had a conditional compilation step in |
I think this relates to the workaround in https://github.com/borglab/gtsam/blob/develop/gtsam/base/std_optional_serialization.h#L30 rather than From what i can tell, GCC still exhibits the bug described in the comment (trying to instantiate objects of type But GCC<13 accepted the incomplete type U in the specializations of the form
which GCC 13 does not anymore. The issue seems to disappear if - namespace boost { namespace serialization { struct U; } }
+ namespace boost { namespace serialization { struct U{}; } } but I'm unsure if this has any unintended side effects. Interestingly, both GCC 12.3 and 13.2.1 don't actually seem to require the type traits, only the declaration/definition of |
That's a great catch and analysis. I think you've found the core of the problem and described it very nicely (with a potential fix). |
No rush at all, thank you for looking into the issue! I'm not depending on using GCC13 anytime soon, it just happened to be the default on my system. |
this was also reported by eigen in https://gitlab.com/libeigen/eigen/-/issues/1676 and is a boost issue boostorg/serialization#144 that was fixed in later boost version. |
Description
testStdOptionalSerialization.cpp
fails to build witherror: invalid use of incomplete type ‘struct boost::serialization::U’
.Steps to reproduce
Build failure:
CMake configuration
Expected behavior
Successful build
Environment
6.7.10-1-MANJARO
13.2.1 20230801
1.83
The text was updated successfully, but these errors were encountered: