-
Notifications
You must be signed in to change notification settings - Fork 66
Description
When ingesting Boost.MPI from #1279 we noticed that the x86_64 builds have 16 more files than the aarch64 builds.
@bedroge checked the tarballs and compared them with each other and found:
< lib/libboost_stacktrace_basic-a64.a
< lib/libboost_stacktrace_basic-a64.so
< lib/libboost_stacktrace_basic-a64.so.1.88.0
< lib/libboost_stacktrace_basic-mt-a64.a
< lib/libboost_stacktrace_basic-mt-a64.so
< lib/libboost_stacktrace_basic-mt-a64.so.1.88.0
---
> lib/libboost_stacktrace_basic-mt-x64.a
> lib/libboost_stacktrace_basic-mt-x64.so
> lib/libboost_stacktrace_basic-mt-x64.so.1.88.0
17933a17938,17949
> lib/libboost_stacktrace_basic-x64.a
> lib/libboost_stacktrace_basic-x64.so
> lib/libboost_stacktrace_basic-x64.so.1.88.0
> lib/libboost_stacktrace_from_exception.a
> lib/libboost_stacktrace_from_exception-mt-x64.a
> lib/libboost_stacktrace_from_exception-mt-x64.so
> lib/libboost_stacktrace_from_exception-mt-x64.so.1.88.0
> lib/libboost_stacktrace_from_exception.so
> lib/libboost_stacktrace_from_exception.so.1.88.0
> lib/libboost_stacktrace_from_exception-x64.a
> lib/libboost_stacktrace_from_exception-x64.so
> lib/libboost_stacktrace_from_exception-x64.so.1.88.0
The build process doesn't try to handle these installations differently depending on architecture, so this is unintended behaviour. The libboost_stacktrace_* files for this feature are not present in aarch64 builds, and the build logs confirm that this is switched off at build time. Note that it appears that this can switched on for aarch64, but it has to be done so explicitly.
If left with default options the x86 builds switch this on while non x86 don't. This is also described and identified in another project: conan-io/conan-center-index#25295 cfr. https://github.com/boostorg/stacktrace/blob/boost-1.86.0/build/Jamfile.v2#L148
We should consider rebuilding Boost and Boost.MPI installations in EESSI where this occurs with the feature turned on because we want the builds to act the same among architectures where possible.
To add, Gentoo goes in the opposite direction, that is, they disable this for all architectures: https://github.com/gentoo/gentoo/blob/master/dev-libs/boost/boost-1.88.0-r1.ebuild#L186