Root trunk Pythia6 error

hi all

i am getting this error since yesterday’s trunk update. i tried a clean build also but doesnt help.
(using gcc 4.4.5 on Ubuntu 2.6.38 x64)

config.status linuxx8664gcc --with-alien-incdir=/opt/alice/alien/api/include --with-alien-libdir=/opt/alice/alien/api/lib --with-monalisa-incdir=/opt/alice/alien/api/include --with-monalisa-libdir=/opt/alice/alien/api/lib --with-pythia6-uscore=SINGLE --enable-mathmore --enable-gsl_shared --build=debug

[code]g++ -shared -Wl,-soname,libEGPythia6.so -m64 -g -Wl,–no-undefined -o lib/libEGPythia6.so montecarlo/pythia6/src/TMCParticle.o montecarlo/pythia6/src/TPythia6.o montecarlo/pythia6/src/TPythia6Decayer.o montecarlo/pythia6/src/G__Pythia6.o -Llib -lEG -lGraf -lVMC -lPhysics -Llib -lCore -lCint -ldl
montecarlo/pythia6/src/TMCParticle.o: In function TMCParticle::GetName() const': /opt/alice/root/montecarlo/pythia6/src/TMCParticle.cxx:42: undefined reference topyname_‘
montecarlo/pythia6/src/TPythia6.o: In function TPythia6': /opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:210: undefined reference topythia6_common_address’
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:211: undefined reference to pythia6_common_address' /opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:212: undefined reference topythia6_common_address’
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:213: undefined reference to pythia6_common_address' /opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:214: undefined reference topythia6_common_address’
montecarlo/pythia6/src/TPythia6.o:/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:215: more undefined references to pythia6_common_address' follow montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::GenerateEvent()’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:289: undefined reference to pyevnt_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::OpenFortranFile(int, char*)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:296: undefined reference to tpythia6_open_fortran_file_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::CloseFortranFile(int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:302: undefined reference to tpythia6_close_fortran_file_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pyinit(char*, char*, char*, double)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:524: undefined reference to pyinit_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pycomp(int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:533: undefined reference to pycomp_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pyedit(int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:538: undefined reference to pyedit_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pydiff()’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:544: undefined reference to pydiff_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pyevnt()’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:549: undefined reference to pyevnt_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pyexec()’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:554: undefined reference to pyexec_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pygive(char const*)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:560: undefined reference to pygive_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pyhepc(int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:565: undefined reference to pyhepc_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pylist(int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:570: undefined reference to pylist_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pyname(int, char*)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:577: undefined reference to pyname_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pyr(int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:587: undefined reference to pyr_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pyrget(int, int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:592: undefined reference to pyrget_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pyrset(int, int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:597: undefined reference to pyrset_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pystat(int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:602: undefined reference to pystat_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pytest(int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:607: undefined reference to pytest_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pyupda(int, int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:618: undefined reference to pyupda_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pymass(int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:623: undefined reference to pymass_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Pychge(int)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:628: undefined reference to pychge_' montecarlo/pythia6/src/TPythia6.o: In functionTPythia6::Py1ent(int, int, double, double, double)’:
/opt/alice/root/montecarlo/pythia6/src/TPythia6.cxx:651: undefined reference to `py1ent_'
collect2: ld returned 1 exit status
make: *** [lib/libEGPythia6.so] Error 1
make: *** Waiting for unfinished jobs…

[/code]

Are you sure your PYTHIA6 was built correctly?
See an old thread “select a PDFset for pythia6 inside Root”: [url]Select a PDFset for pythia6 inside Root

i did not build pythia6 explicitly; only using the --with-pythia6-uscore=SINGLE option in configure. moreover it was working fine before a specific trunk update. i have tried building pythia6 separately and giving its paths during the install but that have been problematic in the past.

Well, I hope you do have the “shared library” version of your PYTHIA6.
Find the “libPythia6.so” that your ROOT installation tries to use and check what it provides:

BTW. Looking at the second listing in your original post, I miss “-L/Full/Path/To/Your/Pythia6/lib -lPythia6” there in the g++ line which builds “lib/libEGPythia6.so” (and that’s why it reports all these “undefined references”). Maybe the “configure” step did not find your PYTHIA6 “shared library” at all.

hi
you’re right it seems , there is no libPythia6.so

but my configure step shows :

Enabled support for alien, asimage, astiff, builtin_afterimage, builtin_ftgl, builtin_pcre, builtin_lzma, cintex, exceptions, explicitlink, fftw3, genvector, gsl_shared, mathmore, memstat, monalisa, mysql, opengl, pythia6, reflex, shadowpw, shared, ssl, tmva, x11, xft, xml, xrootd.

why isnt libPythia6 built ?

The “libPythia6.so” is a shared library which is completely external to ROOT.
You, the user, have to provide it. ROOT will not build it.
In the link given in my first post here I advertised a shell script which builds it.
It is possible that you have it built by somebody else on your system and that somebody put it somewhere in system subdirectories. Try to look for it in:
/cern/pro/lib /opt/pythia /opt/pythia6 /usr/lib/pythia /usr/local/lib/pythia /usr/lib/pythia6 /usr/local/lib/pythia6 /usr/lib /usr/local/lib
(I took the above paths from the ROOT’s configure script. That’s where ROOT tries to find it by default, if you do not specify “–enable-pythia6 --with-pythia6-libdir=/Full/Path/To/Your/Pythia6/lib”.)
BTW. If the ROOT’s configure step did not find the “libPythia6.so” then I do not understand why it, in the end, enabled pythia6 support at all.

i did a clean build of v5-30-03 and that builds libEGpythia6.so without any errors , but the error persists in building trunk on the same machine. :unamused:

Search for “ythia6” in files named “config.log” in subdirectories in which you configured / built both ROOT versions.
This should give you precise informations what has been found and where.