InsightSoftwareConsortium / InsightSoftwareConsortium/ITK
itkTestDriver link error with afl-clang-fast++ compiler
- Dominant language
- C++
- Stars
- 1.7k
- Forks
- 748
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 64
Description
I'm trying to build ITK master with the `afl-clang-fast++` compiler and hit a link error right at the very end:
```
ld: Undefined symbols:
std::exception_ptr::__from_native_exception_pointer(void*), referenced from:
std::exception_ptr std::make_exception_ptr[abi:ne180100](std::__1::future_error) in libITKCommon.a[98](itkPoolMultiThreader.cxx.o)
___cxa_init_primary_exception, referenced from:
std::exception_ptr std::make_exception_ptr[abi:ne180100](std::__1::future_error) in libITKCommon.a[98](itkPoolMultiThreader.cxx.o)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [bin/itkTestDriver] Error 1
make[1]: *** [Modules/Core/TestKernel/src/CMakeFiles/itkTestDriver.dir/all] Error 2
make: *** [all] Error 2
```
Searching the codebase for `itkTestDriver`, I found a build setting named `DO_NOT_BUILD_ITK_TEST_DRIVER`, which if I set to `1` results in that thing not being built and therefore no link error. (Looks like I'm not the first to not want it, but interestingly that string appears exactly once.)
I'm configuring with:
```
BUILD_TESTING = OFF
DISABLE_MODULE_TESTS = ON
```
Which I thought disabled all testing stuff. Assuming so, why is `itkTestDriver` even being built? From its name, it seems like it should not be needed given my build options.
Contributor guide
Assessment
This issue has not been assessed yet.