[Rivet] GENSER bootstrap script

Andy Buckley andy.buckley at durham.ac.uk
Mon Jul 7 11:47:55 BST 2008


Oleg ZENIN wrote:
> Dear colleagues, 
> 
> Currently, we have a preliminary version of a script to check out, 
> build & install a subset of generators provided by GENSER.
> HepMC, CLHEP, ROOT and FastJet packages can be optionally compiled as well.
> 
> Please see a brief description at http://lcgapp.cern.ch/project/simu/generator/genser-bootstrap.html

Hi Oleg,

Sorry for the delay: I've been on holiday! This is a great development
and I'm very keen to test it out.

> Although the procedure has not been extensively tested yet it is believed
> to work on any recent GNU/Linux system satisfying minimum requirements
> to compile GENSER software: coreutils, cvs, bash, make, gcc, gcc-g77/gfortran, gcc-c++. 

Can I specify particular compilers like ccache, gfortran, ifort etc.
when I run the script (e.g. by use of CC/FC/CXXFLAGS etc. variables, a
la configure?) [Maybe this is covered in the pkgsrc documentation, but
I'm not sure how that interacts with your wrapper script.]

> Besides several tests on  SLC4, SLC5, Fedora 7,9 and Ubuntu 8.04 we already 
> used the new framework to install new versions of Pythia 6, MC at NLO, 
> MC-TESTER and LHAPDF to /afs/cern.ch/sw/lcg/external/MCGenerators area.
> 
> The bootstrap script urgently needs wider testing than we could 
> have performed so far.

I'm happy to get going on that!

> Looking forward to your comments, suggestions and bug reports.

Okay, here goes! I've got quite a few comments, so keep in mind that I'm
overall positive about the whole thing, but need a bit of help to
understand the behaviour ;)

---
The `--external' key specifies the path to the /external/ area
containing the MCGenerators directory where MC generators will be installed.
---

Could this be changed to something more self-explanatory, such as
"--install"? Similarly, "--prefix" could be "--build": the current usage
of "prefix" to mean the place where the build occurs, rather than where
the built files are installed, is confusingly opposite to the meaning in
autotools!

---
        [ --build-external                   ]   \
             [ --clhep-version=clhep_version ] \
             [ --hepmc-version=hepmc_version ] \
             [ --root-version=root_version ] \
             [ --fastjet-version=fastjet_version ] \
        [ --mcgenerators=lhapdf[,pythia6[,...]] \
        [ --build-genser ]
---
CLHEP, HepMC, ROOT and fastjet packages can be optionally installed into
/external/ directory (see `--build-external').
GENSER packages are compiled if and only if the `--build-genser' key is
specified.
The content of `external' is also built if one specifies the
`--build-external'
key.
---

I'm confused by this: what do you mean by "Genser packages"? I thought
that everything built by this script was a Genser package? Do you mean
that unless --build-external is used, the install area will be assumed
to contain copies of CLHEP, HepMC, ROOT and FastJet? What do I do if

a) I don't want to install e.g. ROOT or CLHEP?
b) I want to use existing system versions of these programs that aren't
in the install area?

I think more documentation/help text is needed to make this generally
usable: *I'm* wary about running the script until I have some idea of
what it will install to where!

Another point is that it's a bit odd to treat LHAPDF as a generator.
Like HepMC, it's a utility package where having more than one version is
not useful: the latest version supercedes all previous ones. Is there a
reason to not treat it like the other utility libraries?

---
At CERN site,  MC generators can be linked against libraries already
installed in /afs/cern.ch/sw/lcg/external/ area, so that
'--build-external'  is  not neccessary.
---

Very minor: speling mistak here ^^^ ;)

Finally, it would be really useful if the script could print out a lit
of valid generators to be passed to the --mcgenerators flag (and the
default list), and similarly if the valid version numbers for LHAPDF,
MCtester, MC at NLO etc. were listed. And is there a way to specify the
Pythia 8 version?

Sorry for so many comments --- this is a big step forward already! If
you can let me know what the recommended options are for a system where
I already have HepMC and FastJet (not in the install area) and don't
want to install ROOT and CLHEP, then I'll do a proper test of the script
here (this will be really useful for testing AGILe's compatibility with
Jimmy, AlpGen and Charybdis, which couldn't be installed before on
non-AFS systems)

Thanks,
Andy

-- 
Dr Andy Buckley
Institute for Particle Physics Phenomenology
Durham University
0191 3343798 | 0191 3732613 | www.insectnation.org


More information about the Rivet mailing list