seqan / seqan3

The modern C++ library for sequence analysis. Contains version 3 of the library and API docs.
https://www.seqan.de
Other
398 stars 81 forks source link

Tests fail to compile #3191

Open yurivict opened 11 months ago

yurivict commented 11 months ago

Does this problem persist on the current master?

Is there an existing issue for this?

Current Behavior

See the log.

gcc-13 FreeBSD 13.2

Expected Behavior

n/a

Steps To Reproduce

Regular test run.

Environment

- Operating system: FreeBSD 13.2
- SeqAn version: 3.3.0
- Compiler: gcc-13

Anything else?

No response

eseiler commented 11 months ago

Hey there, the beginning of the log states

===> Testing for seqan3-3.0.2.1195_2
 -- The CXX compiler identification is Clang 10.0.1

Looks like 3.0.2 instead of 3.3.0. Also, clang is not supported.

Can you check whether the log or the build is wrong?

Edit: Log was updated :)

eseiler commented 11 months ago
undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
collect2: error: ld returned 1 exit status

The error happens when linking against the system-provided GoogleTest (1.14.0).

Looks like either GoogleTest or seqan3 was compiled with pre-cxx11-abi (-D_GLIBCXX_USE_CXX11_ABI={0,1}), while the other was not. Or there is some other linking issue because GoogleTest and seqan3 were compiled differently. There are some other packages where we use the system-provided GoogleTest and we haven't encountered this issue yet.

In any case, you can also pass -DCMAKE_DISABLE_FIND_PACKAGE_GTest=TRUE to CMake to force seqan3 to fetch GoogleTest from source.