-
Notifications
You must be signed in to change notification settings - Fork 140
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
Boost 1.74 cannot compile simple example with serialization/set.hpp #219
Comments
OK - I fixed this one the develop branch. Should migrate to master on next release. Thanks for catching this! |
Great, thanks for fixing! |
I also get this failure from |
right - will do. Are there any others? |
Just gone through to check which headers when included on their own produce compilation errors (with g++-10):
The following headers each produced the following error:
The following header produces the following error:
Finally, there's a file:
that looks a bit suspect. |
I believe these are fixed. BUT I haven't run the tests you've run. So you should run them again. I didn't get the comment "boost/serialization/collection_size_type copy.hpp" so there may be something to do in that area. To summarize, this should be better, but somehow I don't think we're quite done yet. Ideally I'd like to add a bunch of tests for this so the problem can never happen again. Using B2 these would be "compile only". I don't remember how it would be done for CMake. In any case, it would be quite a number of tests. I'm not sure I'm up for this. |
@robertramey just that there are both:
and the latter is the only header with a " copy" in it, and wondered if it was supposed to be there at all. The contents of the file are substantially different, but it doesn't seem to be referenced anywhere. The library seems to compile happily without it (although I see the header files are being found using I'm unable to compile the tests though (see errors below which I don't have time right now to chase down), so I can't be certain whether or not that functionality is being used anywhere.
|
On 9/28/20 4:26 AM, Fergus Cooper wrote:
@robertramey <https://github.com/robertramey> just that there are both:
|boost/serialization/collection_size_type.hpp
boost/serialization/collection_size_type copy.hpp |
and the latter is the only header with a " copy" in it, and wondered
if it was supposed to be there at all. The contents of the file are
substantially different, but it doesn't seem to be referenced anywhere.
Ahh - I see this now. You're right. It isn't used. It should be
removed. BUT since it's different than the other one I should do a
little history checking just in case.
The library seems to compile happily without it (although I see the
header files are being found using |file(GLOB ...)| in CMake which not
recommended
<https://cmake.org/cmake/help/latest/command/file.html#filesystem>.
I'm aware that this is not recommended. But I plead that this is an
exceptional case. The number of headers is very large and handling them
one by one would be very tedious and error prone. So I'll leave this as
it is.
I'm unable to compile the tests though (see errors below which I don't
have time right now to chase down), so I can't be certain whether or
not that functionality is being used anywhere.
|/usr/bin/ld: libwserialization.so: undefined reference to
`boost::archive::detail::utf8_codecvt_facet::utf8_codecvt_facet(unsigned
long)'|
|this has often been a pain point. I'm not sure what to suggest. I
don't have a magic bullet answer.|
||
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#219 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAPBDXHGH4O4H5ZRXAPLVJLSIBXGJANCNFSM4RAHRJXQ>.
--
Robert Ramey
www.rrsd.com
(805)569-3793
|
An extra header may now be required for Boost 1.74. See boostorg/serialization#219 and, for example, jngrad/espresso@a392907 .
An extra header may now be required for Boost 1.74. See boostorg/serialization#219 and, for example, jngrad/espresso@a392907 .
This <boost/serialization/library_version_type.hpp> include guards against an issue in boost::serialization from boost 1.74.0 that leads to compiler error "'library_version_type' is not a member of 'boost::serialization'" when including <boost/serialization/unordered_map.hpp>. More details in ticket boostorg/serialization#219
Seems to be happening again after ubuntu 22.04 update Tried to make a file and this error was launched:
|
I can confirm Matheus' issue with a fresh install of Ubuntu 22. |
This fixes issues with Boost versions See `boostorg/serialization#219
I've used this bugfix jngrad/espresso@f33faf0 for our project and it worked just fine pavel-odintsov/fastnetmon@c0d0454 |
I still get the following error with boost 1.74 which I have just freshly installed with apt-get a couple of minutes ago on Ubuntu 22.04.
|
I've totally lost track of this. Current version looks OK to see. So I'm going to close this issue. Fee free to re-open (again) or make a new issue(better) |
I can confirm this issue (library_version_type) with a fresh install of Ubuntu 22. |
Thinking about this. Let's assume for now that this issue is only present in Boost 1.74. And suppose we found it and had a fix. Then what would we do? The release date is August 2020. Would be go back an update the Boost 1.74 package? Somehow I doubt it. My suggestion would be to:
|
OK, but how can I update it in UBUNTU 22.04 apt package manager? |
Sorry, I don't know all the vagaries of boost distribution. |
The issue is that the problem exists in the currently by apt delivered version. (1.74). |
I have the same problem with boost-1.82.0 and rocky /mnt/lustre/home/spack/spack/opt/spack/linux-rocky8-icelake/gcc-8.5.0/boost-1.82.0-v2eykt7r24sm77j3d3lcr7r6qfe4pe3m//include/boost/property_tree/ptree_serialization.hpp:66:24: error: 'library_version_type' in namespace 'bsa' does not name a type |
Minimal failing example.
Including
boost/serialization/set.hpp
does not compile:the following error is produced:
This is not a problem pre-1.74.
The text was updated successfully, but these errors were encountered: