Unresolved symbol __emutls_v._ZSt11__once_call

for problem https://sft.its.cern.ch/jira/browse/ROOT-9277, will https://reviews.llvm.org/D43965 help?

/home/congzhang/opt/usr/local/bin/cling -fopenmp -std=c++2a -l /usr/lib/x86_64-linux-gnu/libomp.so -fno-emulated-tls demo_parallel_matrix_add.cpp

I got the likely error too:

IncrementalExecutor::executeFunction: symbol ‘__emutls_v._ZSt11__once_call’ unresolved while linking function ‘_GLOBAL__sub_I_cling_module_1’!
IncrementalExecutor::executeFunction: symbol ‘__emutls_v._ZSt15__once_callable’ unresolved while linking function ‘_GLOBAL__sub_I_cling_module_1’!

https://github.com/triSYCL/triSYCL/blob/master/tests/examples/demo_parallel_matrix_add.cpp

@alex BTW, I use cling

info:
~/bin/cling_wrapper -v
Adding library paths from ‘LD_LIBRARY_PATH’:
cling version 0.6~dev
Looking for C++ headers with:
LC_ALL=C x86_64-linux-gnu-g+±7 -g -xc++ -E -v /dev/null 2>&1 >/dev/null | awk ‘/^#include </,/^End of search/{if (!/^#include </ && !/^End of search/){ print }}’ | GREP_OPTIONS= grep -E “(c|g)++”
Found:
/usr/include/c++/7
/usr/include/x86_64-linux-gnu/c++/7
/usr/include/c++/7/backward
clang version 5.0.0 (http://root.cern.ch/git/clang.git 7fd3024be56d751958d68ea3abeca4ab2f89dd91) (http://root.cern.ch/git/llvm.git e0b472e46eb5861570497c2b9efabf96f2d4a485)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/xxx/opt/usr/local/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Candidate multilib: .;@m64
Selected multilib: .;@m64
ignoring nonexistent directory “/include”
#include “…” search starts here:
#include <…> search starts here:
/usr/include/c++/7
/usr/include/x86_64-linux-gnu/c++/7
/usr/include/c++/7/backward
/usr/local/include
/home/xxx/opt/usr/local/bin/…/lib/clang/5.0.0/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
Adding runtime include paths:
“/usr/local/include:/home/xxx/work/cling_build/src/tools/cling/include”
Added include paths:
/home/xxx/work/cling_build/src/tools/cling/include
Added include paths:
/home/xxx/opt/usr/local/include
Setting up system headers with clang:
ignoring nonexistent directory “/include”
#include “…” search starts here:
#include <…> search starts here:
/home/xxx/work/cling_build/src/tools/cling/include
/home/xxx/opt/usr/local/include
/usr/include/c++/7
/usr/include/x86_64-linux-gnu/c++/7
/usr/include/c++/7/backward
/usr/local/include
/home/xxx/opt/usr/local/bin/…/lib/clang/5.0.0/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
#include “cling/Interpreter/RuntimeUniverse.h”
namespace cling { class Interpreter; namespace runtime { Interpreter* gCling=(Interpreter*)0x7fff0c508d20;}}
extern “C” int __cxa_atexit(void (f)(void), void*, void*) noexcept;
#define __dso_handle ((void*)0x7fff0c508d20)
extern “C” int atexit(void(f)()) throw () { return __cxa_atexit((void()(void*))f, 0, __dso_handle); }
extern “C++” int at_quick_exit(void(f)()) throw () { return __cxa_atexit((void()(void*))f, 0, __dso_handle); }
Added include paths:
.

****************** CLING ******************

  • Type C++ code and press enter to run it *
  •         Type .q to exit             *
    

I don’t think so. The underlying issue is that the llvm JIT / RuntimeDyld does not support TLS symbol relocation.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.