Seg violation: incompatible libraries (old code, new ROOT)

Hi, I was wondering if anyone here had experienced anything similar to the following problem, and could perhaps give me a hand?

I’m trying to use a piece of code that I’ve not touched for a couple of years, and it fails to compile properly (which is to say, it makes an executable, but with error messages about incompatible libraries, and then the exe gives a seg fault when run) which I think has something to do with a new ROOT version (5.16) installed on this cluster last year.

The error messages when I compile are as follows:

Then when I try to run I get this:

[quote] *** Break *** segmentation violation
Using host libthread_db library “/lib64/tls/”.
Attaching to program: /proc/26302/exe, process 26302
[Thread debugging using libthread_db enabled]
[New Thread 183262478336 (LWP 26302)]
0x00000030d188f9c4 in waitpid () from /lib64/tls/
#1 0x00000030d1839bbf in do_system () from /lib64/tls/
#2 0x0000002aa81b2962 in TUnixSystem::StackTrace ()
from /usr/local/root-pro/lib/
#3 0x0000002aa81af698 in TUnixSystem::DispatchSignals ()
from /usr/local/root-pro/lib/
#5 0x0000002aa952e7e5 in TAxis::Set () from /usr/local/root-pro/lib/
#6 0x0000002aa95799a3 in TH1::TH1$base ()
from /usr/local/root-pro/lib/
#7 0x0000002aa9588cf2 in TH1D::TH1D () from /usr/local/root-pro/lib/
#8 0x0000000000417a52 in RootIO::RootIO ()
#9 0x000000000041591d in main ()

Does anyone know what I can do about these incompatible libraries? Like changing compile options, environment variables, anything like that? Sorry if this is all a bit vague…


With a naive glance, you look to try to compile those sources in 64 bit machine, but your old(?) Makefile is searching 32 bit libraries.

Try it with 64 bit library again, like /usr/lib64, etc… You may need to modify your Makefile.


(ps. This discuss would be moved to…)