Compiling ROOT5

For reasons beyond my control, I need to compile ROOT5 on a machine recently updated to Fedora28. To get the source code, I’m using GitHub with the branch switched from master to v5-34-36.

The ‘cmake’ configure works fine (I am not using any extra options, and I’m pretty sure I have all of the required packages), but then ‘make’ dies at about 30%. I’m assuming the gcc compiler is too new.

Is there an easy way to switch to an older gcc compiler?

If anyone has any advice, please pass it along. Thanks.

P.S. ROOT6 compiles just fine, but the code I’m required to use needs ROOT5.


_ROOT Version: 5.34.36
_Platform: Fedora 28
_Compiler: gcc 8.1.1

Try to switch to the head of the “v5-34-00-patches” branch.

It is hard to convert it to ROOT 6 ?

Thanks, but that didn’t work. It crapped out on some mysql stuff. Couldn’t find “my_global.h”, but I thought I had installed all of the required packages.

It really should be converted to ROOT 6 and will eventually. It is unfortunately a question of resources.

Do you have some error messages at that stage ?

After updating to the latest kernel and rebooting, it made it to 41% before it died.

I’ve attached the last ~100 lines of the make output, showing the errors.

make_errors.txt (8.5 KB)

It looks like you have an issue with reflex… may be @pcanal has an idea about it.

It is an issue that CINT does not support std::atomic and other ‘newer’ entities. You need to either downgrade your compiler or move to ROOT v6. [Alternatively you might be able to specify explicitly to have the compiler use the old C++ standard (C++98)]

Cheers,
Philippe.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.