The native_libmultiprocess package fails to build on OpenBSD starting with #32345:
$ uname -a
OpenBSD openbsd.home 7.7 GENERIC.MP#625 amd64
$ gmake -j 1 -C depends/ MULTIPROCESS=1 native_libmultiprocess
gmake: Entering directory '/home/hebasto/dev/bitcoin/depends'
Extracting native_libmultiprocess...
(SHA256) /home/hebasto/dev/bitcoin/depends/sources/src-ipc-libmultiprocess.tar: OK
Preprocessing native_libmultiprocess...
Configuring native_libmultiprocess...
-- The CXX compiler identification is Clang 16.0.6
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test HAVE_PTHREAD_GETNAME_NP
-- Performing Test HAVE_PTHREAD_GETNAME_NP - Failed
-- Performing Test HAVE_PTHREAD_THREADID_NP
-- Performing Test HAVE_PTHREAD_THREADID_NP - Failed
-- Performing Test HAVE_PTHREAD_GETTHREADID_NP
-- Performing Test HAVE_PTHREAD_GETTHREADID_NP - Failed
-- Configuring done (1.6s)
-- Generating done (0.3s)
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_EXPORT_NO_PACKAGE_REGISTRY
-- Build files have been written to: /home/hebasto/dev/bitcoin/depends/work/build/x86_64-unknown-openbsd7.7/native_libmultiprocess/-874c5f6e479
Building native_libmultiprocess...
gmake[1]: Entering directory '/home/hebasto/dev/bitcoin/depends/work/build/x86_64-unknown-openbsd7.7/native_libmultiprocess/-874c5f6e479'
[ 14%] Building CXX object CMakeFiles/mputil.dir/src/mp/util.cpp.o
[ 14%] Built target mputil
[ 28%] Compiling Cap'n Proto schema include/mp/proxy.capnp
[ 42%] Building CXX object CMakeFiles/multiprocess.dir/include/mp/proxy.capnp.c++.o
[ 57%] Building CXX object CMakeFiles/multiprocess.dir/src/mp/proxy.cpp.o
[ 71%] Linking CXX static library libmultiprocess.a
[ 71%] Built target multiprocess
[ 85%] Building CXX object CMakeFiles/mpgen.dir/src/mp/gen.cpp.o
[100%] Linking CXX executable mpgen
ld: warning: string.c++(string.c++.o:(kj::_::(anonymous namespace)::FloatToBuffer(float, char*)) in archive /home/hebasto/dev/bitcoin/depends/x86_64-unknown-openbsd7.7/native/lib/libkj.a): warning: strcpy() is almost always misused, please use strlcpy()
ld: warning: parser.c++(parser.c++.o:(capnp::compiler::CapnpParser::CapnpParser(capnp::Orphanage, capnp::compiler::ErrorReporter&)::$_39::operator()(capnp::compiler::(anonymous namespace)::Located<capnp::Text::Reader>&&, kj::Maybe<capnp::Orphan<capnp::compiler::LocatedInteger>>&&, capnp::compiler::(anonymous namespace)::Located<kj::Array<kj::Maybe<capnp::compiler::(anonymous namespace)::Located<capnp::Text::Reader>>>>&&, capnp::Orphan<capnp::compiler::Expression>&&, kj::Array<capnp::Orphan<capnp::compiler::Declaration::AnnotationApplication>>&&) const) in archive /home/hebasto/dev/bitcoin/depends/x86_64-unknown-openbsd7.7/native/lib/libcapnpc.a): warning: strcat() is almost always misused, please use strlcat()
ld: error: undefined hidden symbol: std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::operator<<[abi:v160006]<char, std::__1::char_traits<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, std::__1::__thread_id)
>>> referenced by util.cpp
>>> CMakeFiles/mputil.dir/src/mp/util.cpp.o:(mp::ThreadName(char const*))
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [CMakeFiles/mpgen.dir/build.make:110: mpgen] Error 1
gmake[2]: *** [CMakeFiles/Makefile2:1138: CMakeFiles/mpgen.dir/all] Error 2
gmake[1]: *** [Makefile:146: all] Error 2
gmake[1]: Leaving directory '/home/hebasto/dev/bitcoin/depends/work/build/x86_64-unknown-openbsd7.7/native_libmultiprocess/-874c5f6e479'
gmake: *** [funcs.mk:345: /home/hebasto/dev/bitcoin/depends/work/build/x86_64-unknown-openbsd7.7/native_libmultiprocess/-874c5f6e479/./.stamp_built] Error 2
gmake: Leaving directory '/home/hebasto/dev/bitcoin/depends'