Download raw body.
devel/boost vs textproc/icu4c on sparc64
devel/boost currently fails to package on sparc64:
http://build-failures.rhaalovely.net/sparc64/2024-07-24/devel/boost.log
checksumming|*********************************************************** | 97%
Error: /usr/obj/ports/boost-1.84.0/fake-sparc64/usr/local/lib/libboost_locale-mt.a does not exist
Error: /usr/obj/ports/boost-1.84.0/fake-sparc64/usr/local/lib/libboost_locale-mt.so.23.0 does not exist
pkg_create: can't continue
Earlier in the build one can see that icu detection is broken.
/usr/ports/pobj/boost-1.84.0/boost_1_84_0/bin.v2/config.log says:
--8<--
gcc.compile.c++ bin.v2/libs/regex/build/gcc-8/release/link-static/pch-off/threading-multi/visibility-hidden/has_icu_test.o
"c++" -fvisibility-inlines-hidden -m64 -pthread -finline-functions -Wno-inline -Wall -fvisibility=hidden -O2 -pipe -O2 -pipe -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_HAS_ICU=1 -DNDEBUG -I"." -I"/usr/local/include" -c -o "bin.v2/libs/regex/build/gcc-8/release/link-static/pch-off/threading-multi/visibility-hidden/has_icu_test.o" "libs/regex/build/has_icu_test.cpp"
In file included from /usr/local/include/unicode/uset.h:36,
from /usr/local/include/unicode/unorm2.h:35,
from /usr/local/include/unicode/unorm.h:25,
from /usr/local/include/unicode/ucol.h:17,
from /usr/local/include/unicode/coll.h:62,
from libs/regex/build/has_icu_test.cpp:15:
/usr/local/include/unicode/localpointer.h:561:31: error: 'auto' parameter not permitted in this context
template <typename Type, auto closeFunction>
^~~~~~~~~~~~~
/usr/local/include/unicode/localpointer.h:573:76: error: template argument 2 is invalid
explicit LocalOpenPointer(std::unique_ptr<Type, decltype(closeFunction)> &&p)
^
/usr/local/include/unicode/localpointer.h:583:78: error: template argument 2 is invalid
LocalOpenPointer &operator=(std::unique_ptr<Type, decltype(closeFunction)> &&p) {
^
/usr/local/include/unicode/localpointer.h:599:59: error: template argument 2 is invalid
operator std::unique_ptr<Type, decltype(closeFunction)> () && {
^
/usr/local/include/unicode/localpointer.h:551:81: note: invalid template non-type parameter
using LocalPointerClassName = internal::LocalOpenPointer<Type, closeFunction>
^
/usr/local/include/unicode/uset.h:358:1: note: in expansion of macro 'U_DEFINE_LOCAL_OPEN_POINTER'
U_DEFINE_LOCAL_OPEN_POINTER(LocalUSetPointer, USet, uset_close);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/unicode/localpointer.h:551:81: note: invalid template non-type parameter
using LocalPointerClassName = internal::LocalOpenPointer<Type, closeFunction>
^
/usr/local/include/unicode/unorm2.h:286:1: note: in expansion of macro 'U_DEFINE_LOCAL_OPEN_POINTER'
U_DEFINE_LOCAL_OPEN_POINTER(LocalUNormalizer2Pointer, UNormalizer2, unorm2_close);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/unicode/localpointer.h:551:81: note: invalid template non-type parameter
using LocalPointerClassName = internal::LocalOpenPointer<Type, closeFunction>
^
/usr/local/include/unicode/uenum.h:69:1: note: in expansion of macro 'U_DEFINE_LOCAL_OPEN_POINTER'
U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/unicode/localpointer.h:551:81: note: invalid template non-type parameter
using LocalPointerClassName = internal::LocalOpenPointer<Type, closeFunction>
^
/usr/local/include/unicode/ucol.h:553:1: note: in expansion of macro 'U_DEFINE_LOCAL_OPEN_POINTER'
U_DEFINE_LOCAL_OPEN_POINTER(LocalUCollatorPointer, UCollator, ucol_close);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/unicode/unistr.h:39,
from /usr/local/include/unicode/strenum.h:20,
from /usr/local/include/unicode/locid.h:40,
from /usr/local/include/unicode/coll.h:64,
from libs/regex/build/has_icu_test.cpp:15:
/usr/local/include/unicode/stringpiece.h:134:23: error: 'is_same_v' is not a member of 'std'
(std::is_same_v<decltype(T().data()), const char*>
^~~~~~~~~
/usr/local/include/unicode/stringpiece.h:134:23: note: suggested alternative: 'is_same'
(std::is_same_v<decltype(T().data()), const char*>
^~~~~~~~~
is_same
/usr/local/include/unicode/stringpiece.h:134:66: error: template argument 1 is invalid
(std::is_same_v<decltype(T().data()), const char*>
^
/usr/local/include/unicode/stringpiece.h:138:17: error: expected '>' before ')' token
) &&
^
/usr/local/include/unicode/stringpiece.h:138:17: error: expected unqualified-id before ')' token
...skipped <pbin.v2/libs/regex/build/gcc-8/release/link-static/pch-off/threading-multi/visibility-hidden>has_icu for lack of <pbin.v2/libs/regex/build/gcc-8/release/link-static/pch-off/threading-multi/visibility-hidden>has_icu_test.o...
...failed updating 1 target...
-->8--
(full config.log available at https://wxcvbn.org/~jca/tmp/boost-config.log.gz)
lang/gcc/8 doesn't seem able to use some icu4c headers by default.
No idea how to fix it.
One hackish workaround would be to just pretend we don't care about
boost_locale on architectures that use ports-gcc, and put the two
missing files files in a new PFRAG.locale. Posting this here in the
hope that someone has a better idea. The has_icu_test.cpp failure can
be reproduced on amd64 using COMPILER=ports-gcc and TOOLSET=gcc.
--
jca
devel/boost vs textproc/icu4c on sparc64