ROOT master segfaults inside ubuntu18 docker container

I’m trying to build a container with ROOT on top of ubuntu18. For this, I forked the root-docker project and played with the package list in an attempt to make it work:

It used to work, but with the current master, I immediately get a segfault when starting root inside the container I built. the segfault comes from here:

ROOT::FoundationUtils::GetRootSys[abi:cxx11]()

closer inspection reveals that $ROOTSYS is not set. explicitly sourcing “thisroot.sh” fixes this of course, but then this happens:

ERROR in cling::CIFactory::createCI():
  resource directory /usr/local/etc//cling/lib/clang/5.0.0 not found!
error: unable to read PCH file /usr/local/etc//allDict.cxx.pch: 'No such file or directory'
fatal error: PCH file '/usr/local/etc//allDict.cxx.pch' not found: module file not found

I would be happy for any pointers/ideas where I messed up.

I didn’t have that earlier, only thing I (consciously) changed was switching from some older commit to the latest ROOT master…


Please read tips for efficient and successful posting and posting code

ROOT Version: current master
Platform: ubuntu18
Compiler: Not Provided


Can you send the crash and also attach your CMakeCache.txt file located in your build directory?

The problem is that the path to the PCH is hard-coded as etc/allDict.pch.cxx, and with gnuinstall=ON the sys config dir is etc/root, not etc/.

You can easily reproduce this problem like this:

git clone git@github.com:cburgard/root-docker.git
cd root-docker/ubuntu
docker build .

Does https://github.com/root-project/root/pull/4582 fix it for you?

The pull request above does not fix the issue.
I’ve filed ROOT-10452 for this, as ROOT cannot be released before a fix for this is in place.