Support #1675
Tests seg fault when installing MAUS 0.9.4
100%
Description
Installation of 0.9.4 fails at the test stage with a segmentation fault on Ubuntu 14.04. Install log file and test outputs attached.
I do have a copy of ROOT lying around in another location on disk, but would've expected the MAUS install script to have sourced its own downloaded version and avoid any potential conflicts... otherwise, I'm out of ideas and would appreciate a hand!
Files
Updated by Dobbs, Adam over 8 years ago
Hmmmmm, unusual, this is not an error I have encountered before. MAUS should ignore any system version of ROOT. Could you open a clean shell, source env.sh, then let me know the output of
which root
It is also worth cleaning, rebuilding and retesting:
scons -c
scons -j4
./tests/unit_tests.bash
Updated by Blackmore, Victoria over 8 years ago
In a clean terminal:
which root
<< /home/vicki/work/root/bin/root
source env.sh
which root
<< /home/victoria/WorkPrograms/maus/third_party/build/root_v5.34.07/bin/root
so it should be picking up the right version. (I only mentioned it because it looked like a root-related test that it seg-faulted on)
The clean/rebuild/retest is in progress.... (please enjoy this lovely hold music whilst you wait!)
Updated by Blackmore, Victoria over 8 years ago
- File output.txt output.txt added
No change to report on the clean/rebuild/retest (output attached, but it's functionally identical to the previous output apart from a few lines of what looks like memory addresses?)
Updated by Dobbs, Adam over 8 years ago
Odd... I checked through the install log too, and both ROOT and MAUS itself look like they have built correctly. Have you installed the ubuntu dependencies listed at http://micewww.pp.rl.ac.uk/projects/maus/wiki/Install ? Officially we don't support Ubuntu, but I had 0.9.4 running on 14.04 for ages without a problem, so it should work. Perhaps the next time we are in the same place we can sit down together and I can take look? In the meanwhile, it might be easiest to just install it on the IC HEP cluster or RAL PPD cluster and use MAUS remotely (I tend to do most of my work that way, safer, and can leave things running).
Updated by Blackmore, Victoria over 8 years ago
Yup, the install page was followed religiously. It's a bit of a bear that it doesn't want to work given the plans I had for it (running ./bin/simulate_mice.py crashes with similar looking error messages, so MAUS surely can't be installed properly.. )
Co-located debugging it is then!
Updated by Blackmore, Victoria over 8 years ago
- File fix-maus-root-install.sh fix-maus-root-install.sh added
OK, so this is what my Personal Guru has found:
In the MAUS-installed ROOT, most library files reference other ROOT libraries by simple name (e.g. libCore.so) but a few use versioned names (e.g. libCore.so.5.34). All libraries get installed with simple names, not versioned names. Thus the versioned references are either unresolvable or resolve to a system-installed ROOT library. Once that's happened, the system ROOT library references the rest of the system ROOT by versioned name, and ends up loading two copies of things like libCore in the same process (crashy crashy!).
Due to a lack of time and not wanting to mess with the install scripts, my Personal Guru has given me the attached script to 'fix' the issue -- it scans libraries for versioned references and makes an appropriate sym-link in the ROOT install folder (so it doesn't get to look at the system ROOT any more). My Personal Guru claims that the script should be self explanatory!
Updated by Dobbs, Adam about 8 years ago
- Status changed from Open to Closed
- Target version changed from MAUS-v0.9.4 to MAUS-v0.9.6
- % Done changed from 0 to 100
OK, MAUS 0.9.6 should be far better at dealing with ROOT than before. This should hopefully resolve this. Closing this issue, but please make another if the problem persists in 0.9.6!