It works fine when tests are disabled. I am building in a fedora rawhide chroot using mock from a spec file i made. Here is the end of the output:
[100%] Linking CXX executable flac_compressor_test
/usr/bin/cmake -E cmake_link_script CMakeFiles/flac_compressor_test.dir/link.txt --verbose=1
/usr/lib64/ccache/g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DNDEBUG -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes CMakeFiles/flac_compressor_test.dir/test/flac_compressor_test.cpp.o -o flac_compressor_test libtest_helpers.a -lgmock -lgtest -lgtest_main libmkdwarfs_main.a libdwarfsck_main.a libdwarfsbench_main.a libdwarfsextract_main.a libdwarfs_main.a -Wl,--push-state,--whole-archive libdwarfs_compression.a -Wl,--pop-state libdwarfs.a libdwarfs_tool.a -Wl,--push-state,--whole-archive folly/folly/experimental/exception_tracer/libfolly_exception_tracer_base.a libdwarfs_categorizer.a -Wl,--pop-state libcompression_thrift.a libdwarfs.a libdwarfs_compression_metadata.a libmetadata_thrift.a libhistory_thrift.a libfeatures_thrift.a libthrift_light.a libfsst.a /usr/lib64/libboost_chrono.so.1.83.0 /usr/lib64/libboost_iostreams.so.1.83.0 /usr/lib64/libFLAC++.so /usr/lib64/libFLAC.so /usr/lib64/libbrotlidec.so /usr/lib64/libbrotlienc.so /usr/lib64/libarchive.so zstd/build/cmake/lib/libzstd.a /usr/lib64/libxxhash.so /usr/lib64/libjemalloc.so folly/libfolly.a /usr/lib64/libboost_program_options.so.1.83.0 /usr/lib64/libfmt.so.10.2.1 /usr/lib64/libboost_context.so.1.83.0 /usr/lib64/libboost_filesystem.so.1.83.0 /usr/lib64/libboost_atomic.so.1.83.0 /usr/lib64/libboost_regex.so.1.83.0 /usr/lib64/libboost_system.so.1.83.0 /usr/lib64/libboost_thread.so.1.83.0 /usr/lib64/libdouble-conversion.so /usr/lib64/libgflags.so.2.2.2 /usr/lib64/libglog.so /usr/lib64/libevent.so /usr/lib64/libz.so /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/liblz4.so /usr/lib64/liblzma.so /usr/lib64/libdwarf.so /usr/lib64/libiberty.a -ldl /usr/lib64/libunwind.so /usr/lib64/libfuse3.so /usr/lib64/libpthread.a
lto-wrapper: warning: Extra option to ‘-Xassembler’: --noexecstack, dropping all ‘-Xassembler’ and ‘-Wa’ options.
gmake[2]: Leaving directory '/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build'
[100%] Built target dwarfs_test
{standard input}: Assembler messages:
{standard input}:49444: Warning: setting incorrect section attributes for .rodata.thrift.data
{standard input}: Assembler messages:
{standard input}:41568: Warning: setting incorrect section attributes for .rodata.thrift.data
/usr/bin/cmake -D TEST_TARGET=worker_group_test -D TEST_EXECUTABLE=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build/worker_group_test -D TEST_EXECUTOR= -D TEST_WORKING_DIR=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build -D TEST_EXTRA_ARGS= -D TEST_PROPERTIES= -D TEST_PREFIX= -D TEST_SUFFIX= -D TEST_FILTER= -D NO_PRETTY_TYPES=FALSE -D NO_PRETTY_VALUES=FALSE -D TEST_LIST=worker_group_test_TESTS -D CTEST_FILE=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build/worker_group_test[1]_tests.cmake -D TEST_DISCOVERY_TIMEOUT=120 -D TEST_XML_OUTPUT_DIR= -P /usr/share/cmake/Modules/GoogleTestAddTests.cmake
gmake[2]: Leaving directory '/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build'
[100%] Built target worker_group_test
{standard input}: Assembler messages:
{standard input}:14462: Warning: setting incorrect section attributes for .rodata.thrift.data
/usr/bin/cmake -D TEST_TARGET=flac_compressor_test -D TEST_EXECUTABLE=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build/flac_compressor_test -D TEST_EXECUTOR= -D TEST_WORKING_DIR=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build -D TEST_EXTRA_ARGS= -D TEST_PROPERTIES= -D TEST_PREFIX= -D TEST_SUFFIX= -D TEST_FILTER= -D NO_PRETTY_TYPES=FALSE -D NO_PRETTY_VALUES=FALSE -D TEST_LIST=flac_compressor_test_TESTS -D CTEST_FILE=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build/flac_compressor_test[1]_tests.cmake -D TEST_DISCOVERY_TIMEOUT=120 -D TEST_XML_OUTPUT_DIR= -P /usr/share/cmake/Modules/GoogleTestAddTests.cmake
gmake[2]: Leaving directory '/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build'
[100%] Built target flac_compressor_test
{standard input}: Assembler messages:
{standard input}:24776: Warning: setting incorrect section attributes for .rodata.thrift.data
/usr/bin/ld: /tmp/cc3rhCnc.ltrans0.ltrans.o: in function `utils_uft8_truncate_Test::TestBody()':
/usr/include/gtest/gtest-printers.h:668:(.text+0x40f5): undefined reference to `testing::internal::PrintU8StringTo(std::__cxx11::basic_string<char8_t, std::char_traits<char8_t>, std::allocator<char8_t> > const&, std::ostream*)'
/usr/bin/ld: /tmp/cc3rhCnc.ltrans1.ltrans.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > testing::PrintToString<char8_t const*>(char8_t const* const&)':
/usr/include/gtest/gtest-printers.h:668:(.text+0x7b1a): undefined reference to `testing::internal::PrintU8StringTo(std::__cxx11::basic_string<char8_t, std::char_traits<char8_t>, std::allocator<char8_t> > const&, std::ostream*)'
/usr/bin/ld: /tmp/cc3rhCnc.ltrans2.ltrans.o: in function `testing::AssertionResult testing::internal::CmpHelperEQ<char8_t [24], std::__cxx11::basic_string<char8_t, std::char_traits<char8_t>, std::allocator<char8_t> > >(char const*, char const*, char8_t const (&) [24], std::__cxx11::basic_string<char8_t, std::char_traits<char8_t>, std::allocator<char8_t> > const&)':
/usr/include/gtest/gtest-printers.h:668:(.text+0x3030): undefined reference to `testing::internal::PrintU8StringTo(std::__cxx11::basic_string<char8_t, std::char_traits<char8_t>, std::allocator<char8_t> > const&, std::ostream*)'
collect2: error: ld returned 1 exit status
gmake[2]: Leaving directory '/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build'
gmake[2]: *** [CMakeFiles/utils_test.dir/build.make:152: utils_test] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:2060: CMakeFiles/utils_test.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
/usr/bin/cmake -D TEST_TARGET=tools_test -D TEST_EXECUTABLE=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build/tools_test -D TEST_EXECUTOR= -D TEST_WORKING_DIR=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build -D TEST_EXTRA_ARGS= -D TEST_PROPERTIES= -D TEST_PREFIX= -D TEST_SUFFIX= -D TEST_FILTER= -D NO_PRETTY_TYPES=FALSE -D NO_PRETTY_VALUES=FALSE -D TEST_LIST=tools_test_TESTS -D CTEST_FILE=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build/tools_test[1]_tests.cmake -D TEST_DISCOVERY_TIMEOUT=120 -D TEST_XML_OUTPUT_DIR= -P /usr/share/cmake/Modules/GoogleTestAddTests.cmake
gmake[2]: Leaving directory '/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build'
[100%] Built target tools_test
{standard input}: Assembler messages:
{standard input}:42655: Warning: setting incorrect section attributes for .rodata.thrift.data
/usr/bin/cmake -D TEST_TARGET=tool_main_test -D TEST_EXECUTABLE=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build/tool_main_test -D TEST_EXECUTOR= -D TEST_WORKING_DIR=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build -D TEST_EXTRA_ARGS= -D TEST_PROPERTIES= -D TEST_PREFIX= -D TEST_SUFFIX= -D TEST_FILTER= -D NO_PRETTY_TYPES=FALSE -D NO_PRETTY_VALUES=FALSE -D TEST_LIST=tool_main_test_TESTS -D CTEST_FILE=/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build/tool_main_test[1]_tests.cmake -D TEST_DISCOVERY_TIMEOUT=120 -D TEST_XML_OUTPUT_DIR= -P /usr/share/cmake/Modules/GoogleTestAddTests.cmake
gmake[2]: Leaving directory '/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build'
[100%] Built target tool_main_test
gmake[1]: Leaving directory '/builddir/build/BUILD/dwarfs-0.8.0/redhat-linux-build'
gmake: *** [Makefile:169: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.5T9D47 (%build)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.5T9D47 (%build)
Finish: rpmbuild dwarfs-0.8.0-1.src.rpm
Finish: build phase for dwarfs-0.8.0-1.src.rpm
ERROR: Exception(/home/noodle/rpmbuild/SRPMS/dwarfs-0.8.0-1.src.rpm) Config(fedora-rawhide-x86_64) 27 minutes 44 seconds
INFO: Results and/or logs in: /var/lib/mock/fedora-rawhide-x86_64/result
ERROR: Command failed:
# bash --login -c '/usr/bin/rpmbuild -bb --noclean --target x86_64 --nodeps /builddir/build/SPECS/dwarfs.spec'
It works fine when tests are disabled. I am building in a fedora rawhide chroot using mock from a spec file i made. Here is the end of the output: