Potential conflict with llvm-enabled mesa libraries


my setup is using an llvm-enabled mesa (10.5.6) where only the Gallium-based llvm pipe renderer swrast is active. The llvm version used here is 3.6.1.

If this is is used with root


| Welcome to ROOT 6.05/01 root.cern.ch |
| © 1995-2014, The ROOT Team |
| Built for linuxx8664gcc |
| From heads/master@v6-05-01-407-g5e789f4, Aug 10 2015, 09:55:25 |

Try ‘.help’, ‘.demo’, ‘.license’, ‘.credits’, ‘.quit’/’.q’

then the tutorial examples crash (see below). The reason is the llvm shared library libLLVM-3.6.so is loaded due to the GL libraries (mesa) and this then seems to cause a problem in the execution since root may rely on a more recent llvm version (and new llvm versions are very likely API-incompatible with older ones).

When injecting other OpenGL libraries (e.g. by setting the LD_LIBRARY_PATH accordingly), the tutorial examples work fine. Hence this is not a blocking problem and more an observation.

Compiler: gcc 4.9.2
Configuration setup used configure (not cmake)

#10 0x00007fb5e112d0f9 in llvm::cl::Option::addArgument() () from /opt/soft/cdtng/tools/portage/1.11/usr/root/lib/libCling.so
#11 0x00007fb5ce197663 in ?? () from /opt/soft/cdtng/tools/portage/1.11/usr/lib/libLLVM-3.6.so
#12 0x00000039c000e64f in _dl_init_internal () from /lib64/ld-linux-x86-64.so.2
#13 0x00000039c0012e05 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#14 0x00000039c000e266 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#15 0x00000039c00125aa in _dl_open () from /lib64/ld-linux-x86-64.so.2
#16 0x00000039c0800f66 in dlopen_doit () from /lib64/libdl.so.2
#17 0x00000039c000e266 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#18 0x00000039c080129c in _dlerror_run () from /lib64/libdl.so.2
#19 0x00000039c0800ee1 in dlopen

GLIBC_2.2.5 () from /lib64/libdl.so.2
#20 0x00007fb5dfb23752 in cling::DynamicLibraryManager::loadLibrary(std::string const&, bool) () from /opt/soft/cdtng/tools/portage/1.11/usr/root/lib/libCling.so
#21 0x00007fb5dfa5aae2 in TCling::Load(char const*, bool) () from /opt/soft/cdtng/tools/portage/1.11/usr/root/lib/libCling.so
#22 0x00007fb5e2c2458a in TSystem::Load(char const*, char const*, bool) () from /opt/soft/cdtng/tools/portage/1.11/usr/root/lib/libCore.so.6.05
#23 0x00007fb5e2cc169e in TUnixSystem::Load(char const*, char const*, bool) () from /opt/soft/cdtng/tools/portage/1.11/usr/root/lib/libCore.so.6.05

Have you tried again with a more recent version ?