ed259e5efe
<https://dev-www.libreoffice.org/src/boost_1_81_0.tar.xz> has been generated (on Fedora 37) with > $ wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.bz2 > $ printf '71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa boost_1_81_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_81_0.html> > boost_1_81_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_81_0.tar.bz2 > Unpacking boost_1_81_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_81_0.tar.xz ... > Cleaning up ... > 1deb0a5a9e33a6626fcaa1d2efd4c0e74ca2b0eea87c1559e3917f3066b633d6 boost_1_81_0.tar.xz > Done. * external/boost/windows-no-utf8-locales.patch.0, introduced withf046fed278
"Don't ever attempt to initialise a std::locale with a UTF-8 locale on Windows", was presumably obsoleted by <f45adfc9b9
> "Use UTF-16 <-> UTF-8 codecvt on Windows". * external/boost/libc++.patch.0 was obsoleted by <f0af4a9184
> "The std lib unary/binary_function base classes are deprecated/removed from libcpp15." * external/boost/0001-Change-mpl-integral_c-to-boost-integral_constant-to-.patch.2 was obsoleted by <50a1eae942
> "Change mpl::integral_c to boost::integral_constant to avoid Clang 16 errors when constructing out of range enums (refs #24, boostorg/mpl#69)". * external/boost/0001-Avoid-boost-phoenix-placeholders-uarg1.10-ODR-violat.patch.2 is needed to e.g. avoid > ./.libs/libetonyek_internal.a(libetonyek_internal_la-KEY1DivElement.o):(.bss+0x3e): multiple definition of `boost::phoenix::placeholders::uarg1'; ./.libs/libetonyek_internal.a(libetonyek_internal_la-IWORKFormula.o):(.bss+0x3e): first defined here etc. while building ExternalProject_libetonyek, caused by <8b6a9c26c1
> "std::tuple support (Resolving #103) (#104)". Change-Id: I48773166d0c50f2850d8bb37fa6215d9e5c0d51d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145044 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
27 lines
1.2 KiB
Groff
27 lines
1.2 KiB
Groff
From 50973dc10ea16931245ea61a00b2ce9041acc5ba Mon Sep 17 00:00:00 2001
|
|
From: Stephan Bergmann <sbergman@redhat.com>
|
|
Date: Wed, 4 Jan 2023 17:33:31 +0100
|
|
Subject: [PATCH] Avoid boost::phoenix::placeholders::uarg1..10 ODR violations
|
|
|
|
Those variables, defined in an include file, had external linkage, causing ODR
|
|
violations. Make them const to implicitly give them internal linkage.
|
|
---
|
|
include/boost/phoenix/stl/tuple.hpp | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/include/boost/phoenix/stl/tuple.hpp b/include/boost/phoenix/stl/tuple.hpp
|
|
index a83014a..7f61a40 100644
|
|
--- a/include/boost/phoenix/stl/tuple.hpp
|
|
+++ b/include/boost/phoenix/stl/tuple.hpp
|
|
@@ -110,7 +110,7 @@ namespace boost { namespace phoenix {
|
|
namespace placeholders {
|
|
#define BOOST_PP_LOCAL_LIMITS (1, BOOST_PHOENIX_ARG_LIMIT)
|
|
#define BOOST_PP_LOCAL_MACRO(N) \
|
|
- auto uarg##N = \
|
|
+ auto const uarg##N = \
|
|
boost::phoenix::get_<(N)-1>(boost::phoenix::placeholders::arg1);
|
|
#include BOOST_PP_LOCAL_ITERATE()
|
|
}
|
|
--
|
|
2.38.1
|
|
|