Hi --with-system-boost and boost-libs version 1.80.0, fails in the vcl module in a lengthy error pasted later. An earlier version of boost-libs failed too, possibly 1.79 or so.
--without-system-boost fails in the configmgr module instead, due to a tuple definition bug in boost. Luckily I managed to hack around this, but I am not sure whether my patch is needed for other platforms or compilers (currently it only applies to Clang). So I am not committing it, but attaching it here for review. Damjan ------------------------------------------------------------- Errors --with-system-boost version 1.80.0: ------------------------------------------------------------- In file included from /path/to/openoffice-git/main/vcl/unx/gtk/a11y/atkutil.cxx:41: In file included from /path/to/openoffice-git/main/solver/450/unxfbsdx/inc/vcl/menu.hxx:31: In file included from /path/to/openoffice-git/main/solver/450/unxfbsdx/inc/vcl/bitmapex.hxx:28: In file included from /path/to/openoffice-git/main/solver/450/unxfbsdx/inc/vcl/bitmap.hxx:38: In file included from /usr/local/include/boost/math/special_functions/sinc.hpp:18: /usr/local/include/boost/math/tools/config.hpp:23:6: warning: "The minimum language standard to use Boost.Math will be C++14 starting in July 2023 (Boost 1.82 release)" [-W#warnings] # warning "The minimum language standard to use Boost.Math will be C++14 starting in July 2023 (Boost 1.82 release)" ^ /usr/local/include/boost/math/tools/config.hpp:422:61: error: expected ';' at end of declaration inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c) BOOST_MATH_NOEXCEPT(T) ^ ; /usr/local/include/boost/math/tools/config.hpp:422:82: error: use of undeclared identifier 'T' inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c) BOOST_MATH_NOEXCEPT(T) ^ /usr/local/include/boost/math/tools/config.hpp:422:62: error: unknown type name 'noexcept' inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c) BOOST_MATH_NOEXCEPT(T) ^ /usr/local/include/boost/math/tools/config.hpp:320:32: note: expanded from macro 'BOOST_MATH_NOEXCEPT' #define BOOST_MATH_NOEXCEPT(T) noexcept(std::is_floating_point<T>::value) ^ /usr/local/include/boost/math/tools/config.hpp:422:82: error: use of undeclared identifier 'T' inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c) BOOST_MATH_NOEXCEPT(T) ^ error: expected unqualified-id /usr/local/include/boost/math/tools/config.hpp:422:62: error: expected ')' inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c) BOOST_MATH_NOEXCEPT(T) ^ /usr/local/include/boost/math/tools/config.hpp:320:66: note: expanded from macro 'BOOST_MATH_NOEXCEPT' #define BOOST_MATH_NOEXCEPT(T) noexcept(std::is_floating_point<T>::value) ^ /usr/local/include/boost/math/tools/config.hpp:422:62: note: to match this '(' /usr/local/include/boost/math/tools/config.hpp:320:40: note: expanded from macro 'BOOST_MATH_NOEXCEPT' #define BOOST_MATH_NOEXCEPT(T) noexcept(std::is_floating_point<T>::value) ^ /usr/local/include/boost/math/tools/config.hpp:428:66: error: expected ';' at end of declaration inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c, T d) BOOST_MATH_NOEXCEPT(T) ^ ; /usr/local/include/boost/math/tools/config.hpp:428:87: error: use of undeclared identifier 'T' inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c, T d) BOOST_MATH_NOEXCEPT(T) ^ /usr/local/include/boost/math/tools/config.hpp:428:67: error: unknown type name 'noexcept' inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c, T d) BOOST_MATH_NOEXCEPT(T) ^ /usr/local/include/boost/math/tools/config.hpp:320:32: note: expanded from macro 'BOOST_MATH_NOEXCEPT' #define BOOST_MATH_NOEXCEPT(T) noexcept(std::is_floating_point<T>::value) ^ /usr/local/include/boost/math/tools/config.hpp:428:87: error: use of undeclared identifier 'T' inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c, T d) BOOST_MATH_NOEXCEPT(T) ^ error: expected unqualified-id /usr/local/include/boost/math/tools/config.hpp:428:67: error: expected ')' inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c, T d) BOOST_MATH_NOEXCEPT(T) ^ /usr/local/include/boost/math/tools/config.hpp:320:66: note: expanded from macro 'BOOST_MATH_NOEXCEPT' #define BOOST_MATH_NOEXCEPT(T) noexcept(std::is_floating_point<T>::value) ^ /usr/local/include/boost/math/tools/config.hpp:428:67: note: to match this '(' /usr/local/include/boost/math/tools/config.hpp:320:40: note: expanded from macro 'BOOST_MATH_NOEXCEPT' #define BOOST_MATH_NOEXCEPT(T) noexcept(std::is_floating_point<T>::value) ^ /usr/local/include/boost/math/tools/config.hpp:436:48: error: expected ';' at end of declaration void suppress_unused_variable_warning(const T&) BOOST_MATH_NOEXCEPT(T) ^ ; /usr/local/include/boost/math/tools/config.hpp:436:69: error: use of undeclared identifier 'T' void suppress_unused_variable_warning(const T&) BOOST_MATH_NOEXCEPT(T) ^ /usr/local/include/boost/math/tools/config.hpp:436:49: error: unknown type name 'noexcept' void suppress_unused_variable_warning(const T&) BOOST_MATH_NOEXCEPT(T) ^ /usr/local/include/boost/math/tools/config.hpp:320:32: note: expanded from macro 'BOOST_MATH_NOEXCEPT' #define BOOST_MATH_NOEXCEPT(T) noexcept(std::is_floating_point<T>::value) ^ /usr/local/include/boost/math/tools/config.hpp:436:69: error: use of undeclared identifier 'T' void suppress_unused_variable_warning(const T&) BOOST_MATH_NOEXCEPT(T) ^ error: expected unqualified-id /usr/local/include/boost/math/tools/config.hpp:436:49: error: expected ')' void suppress_unused_variable_warning(const T&) BOOST_MATH_NOEXCEPT(T) ^ /usr/local/include/boost/math/tools/config.hpp:320:66: note: expanded from macro 'BOOST_MATH_NOEXCEPT' #define BOOST_MATH_NOEXCEPT(T) noexcept(std::is_floating_point<T>::value) ^ /usr/local/include/boost/math/tools/config.hpp:436:49: note: to match this '(' /usr/local/include/boost/math/tools/config.hpp:320:40: note: expanded from macro 'BOOST_MATH_NOEXCEPT' #define BOOST_MATH_NOEXCEPT(T) noexcept(std::is_floating_point<T>::value) ^ /usr/local/include/boost/math/tools/config.hpp:445:11: error: unknown type name 'constexpr' static constexpr bool value = std::is_integral<T>::value || (std::numeric_limits<T>::is_specialized && std::numeric_limits<T>::is_integer); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=]
commit 7ea3dd96c0cddf821d2f83199ef817a4fa174040 Author: Damjan Jovanovic <dam...@apache.org> Date: Tue Aug 23 02:46:53 2022 +0200 --without-system-boost apparently needs BOOST_NO_CXX11_HDR_TUPLE defined to compile with Clang, at least on FreeBSD. Patch by: me diff --git a/main/boost/boost-clang.patch b/main/boost/boost-clang.patch new file mode 100644 index 0000000000..564976f690 --- /dev/null +++ b/main/boost/boost-clang.patch @@ -0,0 +1,11 @@ +--- misc/build/boost_1_55_0/boost/config/compiler/clang.hpp 2022-08-22 19:00:17.163863000 +0200 ++++ misc/build/boost_1_55_0/boost/config/compiler/clang.hpp 2022-08-22 19:01:04.842941000 +0200 +@@ -168,6 +168,8 @@ + # define BOOST_NO_CXX11_INLINE_NAMESPACES + #endif + ++#define BOOST_NO_CXX11_HDR_TUPLE ++ + // Clang always supports variadic macros + // Clang always supports extern templates + diff --git a/main/boost/makefile.mk b/main/boost/makefile.mk index ae402c982a..89eb6140f3 100644 --- a/main/boost/makefile.mk +++ b/main/boost/makefile.mk @@ -50,6 +50,7 @@ PATCH_FILES= $(TARFILE_NAME).patch .IF "$(GUI)"=="OS2" PATCH_FILES+=boost-os2.patch .ENDIF +PATCH_FILES+=boost-clang.patch CONFIGURE_DIR= CONFIGURE_ACTION=
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org