Pythia 8 does not work with root 5.24 SL 5.2


After installing root from the and pythia8 from

I cannot run the root examples, like pythia8.C. The root was compiled from the source following the instructions how to enable the pythia8 options, etc.

When running the pythia8.C example, I get the message about the invalid ELF header, like

“dlopen error: /home/kotchet/pythia8130/lib/archive/libpythia8.a: invalid ELF header” after trying to load the library libpythia8.

Also, I get the error about the failure to load the library,
because of the undefined symbol:

“dlopen error: /home/kotchet/root/lib/ undefined symbol:

Also, probably, the example pythia8.C was not tested by the developers. On Pythia web-link
there are the instructions how to use pythia, and those instructions tell that
the location of libpythia8 is in pythia_home/lib, which is incorrect. The actual location is pythia_home/lib/archive, otherwise root will give you a complaining error about an absent library.

The parameters of my system are Scientific Linux 5.2, the default gcc is 4.1.1, but I have the gcc-3.4.1 option, which does not work, as well, when used for the compilation. The tried root version was 5.24, however, I tried 5.20 with the same negative effect.

I tried several flavors of pythia 8, like 8130, 8080, etc. with the same results.

Probably, there are some tricks that are missing in either root or pythia (or both) documentations to be followed.

By the way, pythia 6 works fine in root, which is really frustrating, since the Pythia developers made a major switch to C++ version 8 and don’t intend to support the version 6.

BTW, by itself (without root) pythia 8 works just fine.

If anybody has any idea how to deal with these troubles, please, let me know. It is hard to believe that the experiments don’t really use pythia 8, opting for the decommissioned pythia 6.


P.S. If some fundamentally important information is missing regarding root installation, etc. (like linking and other), which prevents the execution of the example pythia8.C, I would like to ask the developers to update the documentation that comes with root distributions, so everybody would know how to deal with this. I believe, the root distributions are intended for a wide scientific community, not just for Linux/C++/gcc/etc. experts.

I can add regarding the second error of unidentified symbol. If you look at just pythia8 distribution, the only place you can find the character string “evolvepdfphotonm” is in the file PartonDistributions,cc located in the src directory. If you comment, for example, that line and try to compile the root again, after compilations root will complain about the unidentified symbol “evolvepdfm” which is just in the next line in the same file

When installing pythia8 you must configure with --enable-shared (see the README file).
Could you check that you have $PYTHIA8/lib/ ?

see also the comments in $ROOTSYS/tutorials/pythia/pythia8.C


Hello Rene,

Thank you for prompt help. That flag to make the shared library during pythia8 compilation fixes both errors. Now pythia8 works under root like a breeze.

Best regards,