packages icon indicating copy to clipboard operation
packages copied to clipboard

boost: Updates package to version 1.85.0

Open ClaymorePT opened this issue 1 year ago • 1 comments

Maintainer: @ClaymorePT Compile tested: bcm27xx (bcm2712) - used development snapshot from the 27th of April. Run tested: N/A

Description: This commit updates boost to version 1.85.0

New available libraries:

  • Charconv: A high quality implementation of in C++11, from Matt Borland. 2
  • Scope: A collection of scope guard utilities and a unique_resource wrapper, from Andrey Semashev. 3

More info about Boost 1.85.0 can be found at the usual place 1.

ClaymorePT avatar Apr 27 '24 02:04 ClaymorePT

Failures in x86_64 and i386_pentium-mmx targets are due to the absence of the quadmath library from GCC. For these targets, it will require the build of this library with GCC. OpenWRT does not currently support the build of the quadmath library, but I will try to add this support with minimal impact. Dependency in Boost shall only exist for these targets and when the new charconv library is selected.

ClaymorePT avatar Apr 27 '24 18:04 ClaymorePT

@neheb I've added a patch that simply forces a failure on the quadmath test. From what I could assess, in order to provide support for quadmath test for x86_64 and i386_pentium-mmx targets, it would be required for a the libquadmath package to be created and installed. Given that it's GCC that builds the libquadmath and given that it is disabled by default on the GCC development libs section, I'm unsure how add support. Also, I'm unsure why the failure to build boost-charconv happens even when the test succeeds. Probably because although the toolchain has the libquadmath, the toolchain build process does not install the library in the target storage.

If anyone can give some hints how to properly resolve this, I would be appreciated. For now, libquadmath test is simply disabled for x86_64 and i386-pentium platforms (the only ones actually supported by boost-charcov with quadmath). The boost-charconv library is still available and installable, it just will not have support for 128bits floats and other quadmath features used by charconv.

ClaymorePT avatar Apr 29 '24 11:04 ClaymorePT

For now, libquadmath test is simply disabled for x86_64 and i386-pentium platforms (the only ones actually supported by boost-charcov with quadmath).

Due to the lack of libquadmath, it is better to disable the build of charconv.

brvphoenix avatar Apr 30 '24 14:04 brvphoenix

@brvphoenix I think that would be a too restrictive measure :/ The library is still useful for all of the other targets and it is still useful even without libquadmath.

FYI, the failure to validate the quadmath test forces boost-charconv to be built without the support of libquadmath, which is something predicted by the boost-charconv developers.

ClaymorePT avatar Apr 30 '24 22:04 ClaymorePT

If anyone can give some hints how to properly resolve this, I would be appreciated.

@ClaymorePT Have you tested adding a library libquadmath like libatomic in https://github.com/openwrt/openwrt/blob/797904b3cb4a5c575641c19e7f3989926e4c7902/package/libs/toolchain/Makefile#L483-L486?

brvphoenix avatar May 21 '24 09:05 brvphoenix

@brvphoenix apologies for the late reply.

No, I did not test an update to the toolchain. Thank you for your suggestion, I will try it.

ClaymorePT avatar Jun 03 '24 01:06 ClaymorePT

@brvphoenix with the update to the toolchain to provide libquadmath, the issue is resolved.

ClaymorePT avatar Jun 05 '24 23:06 ClaymorePT