Re-compiled root (with --enable-roofit) and now getting err

I recently recompiled ROOT in order to enable RooFit/RooStats. Prior to doing so, I looked in the config.log and config.status files to make sure I compiled it with the same architecture. All I did was do ./configure linuxx8664gcc --enable-roofit and then make.

And ROOT works fine with the code I have using RooFit (thanks to Lorenzo!). But now I can’t get Delphes to run properly. I get this error:

I know that the cluster is 64 bit, and I know that it uses GCC.

Any idea why this could be happening or how to fix it?

Hi,

it looks like an issue with the setup, namely root compiled for 32 bits trying to load a libcore compiled for 64.
Did you properly setup the 64bits root, for example with the $ROOTSYS/bin/thisroot.sh script?

Cheers,
Danilo

I already had ROOT installed and working on the server. I haven’t changed my bashrc file from when it was working, so I didn’t think I had to do something like that. I am trying that right now.

Okay, I tried it and it did not help. (To be clear, I ran “source ~/root/bin/thisroot.sh” and then re-ran delphes, and I get the same error.

Hi,

could you check the format of your executable and of libCore with “file” ?
For example (putting a possible output inline):

file /usr/bin/root
/usr/bin/root: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

and

file /usr/lib64/root/libCore.so.5.34
/usr/lib64/root/libCore.so.5.34: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

[code]/home/tmartin/root/lib/libCore.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped[/code]

My installation is different than yours, but I think I have done what you asked.

My installation is different than yours, but I think I have done what you asked.

Sorry this demonstrates that the root executable is a 64 bit one and probably root will work fine. I thought you were running another program, Delphes.

I am running Delphes. But Delphes uses the ROOT libraries, and gives an error about the ROOT libraries. So I have been told that the problem is with ROOT.

Hi,

what I am trying to say is that your executable (for sure not root), may not be of the same format of libCore (and probably the whole root of your environment, since you proved it). I therefore suggested, to verify this Ansatz, to take advantage of the file command to verify if the executable (the one you run, not root) was compiled as a 32bit one.
Unfortunately without this information (i.e. the format - 64 or 32 bits - of the entity loading libCore or any of the root libraries linking against it) I am afraid I cannot help you any further.

Best,
Danilo

Okay, thanks for the thorough explanation. I will continue to try to figure things out.