ROOT Version: 6.14.2
Platform: Mac 10.13.6
Compiler: clang-902.0.39.2
Building a minimal ROOT is successful, but running (from Python) fails win the TClingCallFunction wrapper generation, like so:
IncrementalExecutor::executeFunction: symbol '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EOS5_' unresolved while linking symbol '__cf_1'!
You are probably missing the definition of std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Maybe you need to load the corresponding shared library?
This is just an example: there are many such similar cases.
Checking /usr/lib/stdc++.dylib, I find that the symbol in there starts with 2, not 1, underscores. Note that not all symbols fail: only those that are not already used by linked in libraries (such as libCore, libRIO, etc.).
Build arguments are:
cmake ../root -Dcxx14=ON -Dminimal=ON -Dasimage=OFF -Droot7=OFF -Dhttp=OFF -Dbuiltin_freetype=OFF -Dbuiltin_pcre=ON -Dbuiltin_zlibg=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=...
and EXTRA_CLING_ARGS is ‘-O2 -mavx’.
Note that the downloaded binary from root.cern.ch works just fine. which is why I put it down to a configuration problem. If I use the libCling.so from that distribution, all is fine, however. (This makes sense, as the IncrementalExecutor is from Cling and obtains the mangler from LLVM’s codegen.)
I tried with and withoud -Dlibcxx=ON, wiped all other llvm’s and clangs (other than the system one), etc. nothing makes a difference.
Any ideas?
Or, is e.g. the build log from the binary distribution available? That way, I can compare the sub-configure of LLVM and look for differences.