InsightSoftwareConsortium / InsightSoftwareConsortium/ITK

itkTestDriver link error with afl-clang-fast++ compiler

Open
#4,649 1 comment 0 reactions 0 assignees View on GitHub
type: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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.