ROOT Version: 5.34.36
Platform: Ubuntu 18.04
Compiler: Not Provided
I had post a thread about similar issues before :Running Pythia8 with ROOT getting fatal error: 'Pythia8/Pythia.h' file not found
However, as I still cannot run the macro I decided to reinstall PYTHIA8 and then install ROOT so I can enable build options when building ROOT. So I have installed PYTHIA 8.180 with shared library enabled and ROOT 5.34.36 with pythia8 build option enabled. I tried pythia8.c in /root/tutorials/pythia and it worked out so I think PYTHIA8 could work as a plugin of ROOT.
However, when I run my macro, according to the makefile I should compile with the command make (it’s written by somebody else, so I am not exactly sure what to do) and I got the same error as the post says:
forWong_main.cpp:1:10: fatal error: Pythia8/Pythia.h: No such file or directory
#include "Pythia8/Pythia.h"
^~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:2: recipe for target 'main' failed
make: *** [main] Error 1
I think I have set my environment variables correctly, that in my .bashrc file I have:
export PYTHIA8=/home/killua/pythia8180
export ROOTSYS=/home/ROOT
export PATH=$ROOTSYS/bin:$PATH
export PATH=${PATH}:/home/killua/pythia8180/bin
export LD_LIBRARY_PATH=$ROOTSYS/lib:$PYTHONDIR/lib:$ROOTSYS/bindings/pyroot:$LD$
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/killua//pythia8180/lib
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/home/killua/pythia8180/lib
export PYTHONDIR=$ROOTSYS
export PYTHIA8DATA=/home/killua/pythia8180/xmldoc
export PATH=${PATH}:/home/killua/pythia8180/bin
And I’ve read every post about this error, but the solutions do not solve my problems here.
Can anyone please help me figure out what to do?
Try:
find ${PYTHIA8} -name Pythia.h
I got a output
/home/killua/pythia8180/include/Pythia8/Pythia.h
Attach the “Makefile” here.
Thank you!
Makefile.txt (587 Bytes)
What do you get from:
pythia8-config --cppflags --libs --cxxflags
I get this output:
/home/killua/pythia8180/bin/pythia8-config
So, as you can see it misbehaves. It seems you did not properly configured / built it.
Sorry, I am a bit confused still, do you mean that I did not properly configure/build pythia8? Should I rebuild it and then recompile it?
That’s right. Your pythia8 is not properly configured. I do no know what “pythia8-config” is supposed to return but for sure you should get “-I/home/killua/pythia8180/include” inside.
Just to be safer here, is it okay for me to rebuild PYTHIA8 without rebuilding ROOT? It should be okay right, since I configured ROOT before. Thank you!
No idea. It may work (if you leave it in “/home/killua/pythia8180”) so try it.
My guess is that you need to add “--prefix=/home/killua/pythia8180” when configuring pythia8 (and then “make install”).
I tried
like this./configure --enable-shared --prefix=/home/killua/pythia8180
and I got an error message with this:
make[1]: Entering directory '/home/killua/pythia8180'
cp -r include /home/killua/pythia8180/.
cp: 'include' and '/home/killua/pythia8180/./include' are the same file
Makefile:214: recipe for target 'installmain' failed
make[1]: *** [installmain] Error 1
make[1]: Leaving directory '/home/killua/pythia8180
You should unpack the source code (and build it) in a completely different directory (note: “rm -rf /home/killua/pythia8180/” before configuring it again).
Thank you very much, now my code compiles and it runs.
I know this is a PYTHIA issue, but I tried to google it and could not find anything helpful, so I had to bother you here, if you have any clue. I got error message:
PYTHIA Error from LHAPDF::init: you try to use LHAPDF but did not link it
PYTHIA Error in Pythia::init: could not set up PDF for beam A ```
Read the “README” included in pythia8, for example.