Cxx LLVM error

I am wrapping a C++ math library (ntl) using Cxx.
After successfully wrapping a major class, I encountered llvm errors in another class.
The errors are:
LLVM ERROR: Program used external function ‘__emutls_v._symbol’ which could not be resolved!
where symbol is replaced with the function symbol.
checking the share library (libntl.so) the function is not missing.
I am guessing this has to do with Thread Local Storage
NTL has the following definition:

#ifdef NTL_THREADS

#define NTL_THREAD_LOCAL thread_local

#ifdef __GNUC__
#define NTL_CHEAP_THREAD_LOCAL __thread
#else
#define NTL_CHEAP_THREAD_LOCAL thread_local
#endif

#else

#define NTL_THREAD_LOCAL
#define NTL_CHEAP_THREAD_LOCAL

#endif

which means that certain elements in this class are prefixed with __thread (which was not present in the other class I was able to wrap successfully)