PYTHIA 8 for ROOT


Please read tips for efficient and successful posting and posting code

ROOT Version:
Platform: MacOS Mojave
Compiler: XCODE


Hy everybody,
I downloaded PYTHIA 8 and I’d like to use it as a ROOT 6 plug in.
My ROOY is already compiled, so I try to use this command to link Root with Pythia:
export PYTHIA8=/Users/Michele/pythia8244;
aliBuild build ROOT --defaults user-next-root6 --enable-pythia8 --with-pythia8-incdir=$PYTHIA8/include --with-pythia8-libdir=$PYTHIA8/lib

The following error massage compare:
usage: aliBuild [-h] [-d] [-n]
{analytics,architecture,build,clean,deps,doctor,init,version}

aliBuild: error: unrecognized arguments: --enable-pythia8 --with-pythia8-incdir=/Users/Michele/pythia8244/include --with-pythia8-libdir=/Users/Michele/pythia8244/lib

I don’t really understand how I can use Pythia as plug in for Root.
I try to configure Pythia with ROOT too, using:

./configure --with-root=/Users/Michele/root --with-root-include=/Users/Michele/root//sw/SOURCES/ROOT/v6-14-04/v6-14-04/core/base/inc

but:
WARNING: setting default C++ compiler CXX=g++ (CXX environment variable not set)

WARNING: Disabling ROOT - binary root-config missing.
WARNING: Disabling ROOT - library Core missing.
WARNING: Disabling ROOT - library Gpad missing.
WARNING: Disabling ROOT - library Graf missing.
WARNING: Disabling ROOT - library Hist missing.
WARNING: Disabling ROOT - library MathCore missing.
WARNING: Disabling ROOT - library Matrix missing.
WARNING: Disabling ROOT - library Thread missing.
WARNING: Disabling ROOT - library Tree missing.

PYTHIA Configuration Summary

Architecture = DARWIN
C++ Compiler CXX = g++
C++ Flags CXX_COMMON = -O2 -pedantic -W -Wall -Wshadow -fPIC
C++ Flags (.so) CXX_SHARED = -dynamiclib
Further options = --enable-shared

The following optional external packages will be used:

You need to talk to “aliBuild” developers.

BTW. You should use “cmake” with ROOT 6, not “configure”.

Thanks!
No sorry, probably I don’t write correctly: I use configure for PYTHIA, it was the second option to try to co-work ROOT and PYTHIA

I don’t think you can mix compilers. I guess you should use the same compiler for ROOT 6 (uses clang on MacOS?) and for Pythia 8 (uses g++).

Sorry I don’t understand, in which part I try to use different compilers?

You cannot build Pythia 8 “with root” because you do NOT have ROOT built.

Sorry but I have ROOT built. I don’t understand your point

“binary root-config missing”, “library Core missing”, ... “library Tree missing”

Yes but my problem is that PYTHIA isn’t able to see ROOT, but my ROOT works perfectly.
For example I can’t run the example main91.cc on PYTHIA that requires to ROOT

Have you executed “source /your/root/bin/thisroot.sh”?

No, I execute the command that I linked in the first message.
I see that to configure PYTHIA with ROOT you have to go in the PYTHIA directory and use ./configure --enable-shared --with-root={root_path}.
For me this command works but when I try to launch main91.cc the terminal says “requires ROOT”

In this case you should have “/Users/Michele/root/bin/root-config” (and you should not use “--with-root-include” when configuring Pythia 8).

Where should I have /Users/Michele/root/bin/root-config? When configuring PYTHIA?

It should be there after installing ROOT (and then you can use " --with-root=/Users/Michele/root" when configuring Pythia 8).

My ROOT is correctly installed already. My problem is now add PYTHIA to it
When I do the command that you suggest:

If you want to add Pythia 8 to your ROOT, you need to talk to “aliBuild” developers (how to do it).

If you want to add your ROOT to Pythia 8, you need to reconfigure and rebuild your Pythia 8 using “--with-root=/Users/Michele/root” and nothing else (assuming that you do have “/Users/Michele/root/bin/root-config”).

Thanks, I understand. My problem is that the second option doesn’t work

What do you get from:

/Users/Michele/root/bin/root-config --prefix
/Users/Michele/root/bin/root-config --bindir

No such file or directory.
Because when I open the root directory I find: alidlist, sw (directory) and log (file that reassume the cmake processes). In fact I think the problem is that PYTHIA doesn’t find the file that it wants, but I don’t know how to say it how find it

Try to configure your Pythia 8 using:

source /full/path/to/your/ROOT/bin/thisroot.sh
root-config --prefix
root-config --bindir
./configure --enable-shared --with-root=`root-config --prefix`