I am desperately trying to compile ROOT with both Pythia6 and Pythia8 support included.
I installed and compiled both Pythia versions without issues and added the --with-pythia6-libdir, --with-pythia8-incdir and --with-pythia8-libdir options with the according paths in the configure step.
Yet, no combinations of Pythia versions and ROOT versions seems to work for me.
It works fine for only Pythia6 using ROOT 5.34/30 and --disable-pythia8 in configure!?
Depending on the ROOT version I use, the errors during ROOT compilation on the Pythia8 part vary.
Thanks in advance
For Pythia 6:
Take this tar file file: https://root.cern.ch/download/pythia6.tar.gz and replace the pythia6416.f with the version you prefer (I just tried with pythia-6.4.28.f), and then run the makePythia6 script which corresponds to your architecture
For Pythia 8: you can use any version of Pythia 8 with ROOT 6, but with ROOT 5, you have to use Pythia 8.1 at most
If you don’t manage to get it working, please post the error message you get
For Pythia6 inside ROOT see this old thread:
[Select a PDFset for pythia6 inside Root
thanks for the hint. I guess it was the Pythia8 version we were unlucky with (though I thought we tried a 8.1.* as well).
Anyways, just for completeness, here’s a full recipe that worked for us now …
tar zxvf pythia6.tar.gz
rm -rf pythia6.tar.gz
gzip -d pythia-6.4.28.f.gz
mv pythia-6.4.28.f pythia6/pythia6428.f
rm -rf pythia6/pythia6416.f
mv pythia6 pythia6428
tar zxvf pythia8186.tgz
rm -rf pythia8186.tgz
./configure --enable-shared --enable-64bit
make -j 4
cat >setupPythiaROOT <<EOL
tar zxvf root_v5.34.30.source.tar.gz
mv root root53430
rm -rf root_v5.34.30.source.tar.gz
make -j 4
cat >>setupPythiaROOT <<EOL
cp root53430/tutorials/pythia/pythiaExample.C .
cp root53430/tutorials/pythia/pythia8.C .
adjust pythia6 path in pythiaExample.C to $PYTHIA6/libPythia6
are there any chances to get Pythia 8.2 running with root 5 as well or do you really not maintain the framework for that.
The problem with Pythia 8.2 and ROOT 5 that I am aware is that CINT is not able to digest the header file dlfcn.h. See https://sft.its.cern.ch/jira/browse/ROOT-6862. Since we are not going to improve CINT to do it, you can avoid the problem by patching your version of Pythia8 and protect the inclusion of the dlfcn.h with #ifdef MAKECINT … #endif.