boost
boost copied to clipboard
1.88.0 build failure on mingw64
[ 591s] /usr/lib64/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: bin.v2/libs/stacktrace/build/gc
c-mingw/release/x86_64/debug-symbols-on/target-os-windows/threadapi-win32/visibility-hidden/from_exception.o: in functio
n `current_cxx_exception_index':
[ 591s] /home/abuild/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/stacktrace/build/../src/from_exception
.cpp:54:(.text+0x9f): undefined reference to `__current_exception'
[ 591s] /usr/lib64/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld: bin.v2/libs/stacktrace/build/gc
c-mingw/release/x86_64/debug-symbols-on/target-os-windows/threadapi-win32/visibility-hidden/from_exception.o: in functio
n `is_processing_rethrow':
[ 591s] /home/abuild/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/stacktrace/build/../src/from_exception
.cpp:73:(.text+0x28d): undefined reference to `__current_exception'
[ 591s] collect2: error: ld returned 1 exit status
[ 593s] "x86_64-w64-mingw32-g++" "-DBOOST_USE_WINDOWS_H=1" -x assembler-with-cpp -m64 -O3 -finline-functions -Wno-i
nline -Wall -g -fvisibility=hidden -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_CONTEXT_DYN_LINK=1 -DBOOST
_CONTEXT_NO_LIB=1 -DBOOST_CONTEXT_SOURCE -DBOOST_DISABLE_ASSERTS -DNDEBUG -D_WIN32_WINNT=0x0601 -I"." -I"/home/abuild/rp
mbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/assert/include" -I"/home/abuild/rpmbuild/BUILD/mingw64-boost-1
.88.0-build/boost_1_88_0/libs/context/include" -I"/home/abuild/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/li
bs/core/include" -I"/home/abuild/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/integer/include" -I"/home/a
build/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/mp11/include" -I"/home/abuild/rpmbuild/BUILD/mingw64-b
oost-1.88.0-build/boost_1_88_0/libs/pool/include" -I"/home/abuild/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0
/libs/predef/include" -I"/home/abuild/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/smart_ptr/include" -I"
/home/abuild/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/throw_exception/include" -I"/home/abuild/rpmbui
ld/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/winapi/include" -c -o "bin.v2/libs/context/build/gcc-mingw/release
/x86_64/debug-symbols-on/target-os-windows/threadapi-win32/threading-multi/visibility-hidden/asm/make_x86_64_sysv_elf_ga
s.o" "/home/abuild/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/context/src/asm/make_x86_64_sysv_elf_gas.
S"
[ 593s]
[ 593s] make_x86_64_sysv_elf_gas.S: Assembler messages:
[ 593s] make_x86_64_sysv_elf_gas.S:47: Error: unknown pseudo-op: `.hidden'
[ 593s] make_x86_64_sysv_elf_gas.S:48: Warning: .type pseudo-op used outside of .def/.endef: ignored.
[ 593s] make_x86_64_sysv_elf_gas.S:48: Error: junk at end of line, first unrecognized character is `m'
[ 593s] /home/abuild/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:158: Warning: .size pseudo-op used outside of .def/.endef: ignored.
[ 593s] /home/abuild/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:158: Error: junk at end of line, first unrecognized character is `m'
[ 593s] /home/abuild/rpmbuild/BUILD/mingw64-boost-1.88.0-build/boost_1_88_0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S:161: Error: junk at end of line, first unrecognized character is `-'
[ 593s] ...failed gcc.compile.asm bin.v2/libs/context/build/gcc-mingw/release/x86_64/debug-symbols-on/target-os-windows/threadapi-win32/threading-multi/visibility-hidden/asm/make_x86_64_sysv_elf_gas.o...
[ 593s] gcc.compile.asm bin.v2/libs/context/build/gcc-mingw/release/x86_64/debug-symbols-on/target-os-windows/threadapi-win32/threading-multi/visibility-hidden/asm/jump_x86_64_sysv_elf_gas.o
[ 593s]
full build log https://build.opensuse.org/build/home:michals:mingw/15.6/x86_64/mingw64-boost/_log
current_Exception can be found in
nm /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libucrtbase.a | grep __current_e 0000000000000000 T __current_exception_context 0000000000000000 I __imp___current_exception_context 0000000000000000 T __current_exception 0000000000000000 I __imp___current_exception
and a few other libraries there.
Apparently with target-os=windows the additional properties binary-format=pe abi=ms have to be specified.
It's not clear why the stacktrace does not build. Sounds like some missing library but it's not clear if gcc missed adding it or boost build system missed it. In any case changing the stacktrace with boost.stacktrace.basic=on boost.stacktrace.from_exception=off something gets built.