[Clas_offline] minutes from OLTWG meeting Nov 12, 2009

Johann Goetz jgoetz at ucla.edu
Thu Nov 12 13:06:08 EST 2009


Thursday, Nov 12, 2009: SCons Build System and CLAS 6 Software
12:00 pm Eastern
Cebaf Center  A-110
Call in information: Dial 1-877-643-6951
International  access: 1-302-607-2017
Passcode: 24630562#


RPMs, yum, and all that (Maurizio)
      * creating RPM (installable pre-compiled packages with dependency
        tree) of the CLAS software is a great idea.
      * these RPMs can served with a JLab yum server so that
        installation on a Fedora or Red Hat (or CentOS) system could be
        done with a line like:
yum install clas6-reconstruction clas6-generators etc...
      * CLAS12 has already implemented this on several flavors of Linux
      * 

Eugene's Review of SCons Build System
      * Generally favourable review. Eugene points out that there are
        many packages missing that are needed.
      * Many packages will have to copied over directories from CVS. 
              * sconstruct files will have to be made.
              * gamecock (TOF calib program) has some problems (ROOT/GUI
                related)
              * CLASTool should be fairly easy to get to work now that
                ROOT dictionaries can be built properly.
From: 	Eugene Pasyuk <pasyuk at jlab.org>
To: 	CLAS Offline <clas_offline at jlab.org>
Subject: 	[Clas_offline] testing svn/scons
Date: 	Wed, 16 Sep 2009 10:29:31 -0400 (07:29 PDT)

Hi all,

I tried new software tools today on ifarm. Here are some first
impressions about this experience.

I followed prescription given on the Wiki:
http://clasweb.jlab.org/wiki/index.php/Building_CLAS_libraries_with_SCons_on_ifarm
It took 20 minutes get the entire source tree source from svn.
Then I tried to build. The very first attempt failed. I figured out that
the problem was in suggested environment setup file. I modified a couple
of lines in it (2 minutes to figure out and fix). After that I made a
second attempt to run scons. This time it worked. It took about 3
minutes to build all clas libraries and a just few executables by
default: 

a1c      countbos  g12Anal  gsim_bat  tagraw    view-kaon  view-tag
bosdump  g12skim  skim      user_ana  view-st    view-tracks

Out of these only few (a1c, gsim_bat, countbos, bosdump, user_ana and
tagraw) are of interest to general CLAS user. The rest seem to be g12
specific.
After doing some archeology in sconstruct files for about a half an hour
and making some modifications to them here and there (I have zero
knowledge of scons or python at the moment) I managed to build a few
more utilities, particularly DC calibration tools trk_mon, trk_mon_lite
and dc3. I failed to build start counter calibration code. I was able to
build fdump. gflux would not build because of the compiler errors. I
wonder how g12 managed to build it in new build scheme from the source
in svn. ced would not build because of the compiler errors too.
TOF calibration source code is in svn, but it was not modified for scons
at all. It was imported as is from cvs with all Makefiles which will not
work because of the different tree structure. sc_mon is missing. As was
mentioned at the meeting ec timing calibration utilities are not
included as several other general purpose utilities. For some reason
gsim_int and gpp are not included.

To summarize, I succeeded in building most of the libraries and a few
executables. Quite a few tools are missing (gsim_int, gpp, some
calibration tools). Some programs which  build fine with make would not
build with scons (gflux, ced ...?) I don't know if those executables I
built are working, I had not had a chance to test them yet. I have not
tried to build any of the event generators with scons.
By the way, there are only three of them in svn, while we have more in
cvs.

All in all, svn works just fine, apart from having different directory
structure. scons works for some pieces of the software and does not for
some
others. 
Perhaps it is not quite ready for the prime time yet. Some essential
utilities are not working yet in new build. 
  
-Eugene


What We Should Do Now
      * Hire some undergraduates to move packages from CVS to SVN and
        add sconstruct files to build these packages.
      * Armand Fraiser was a big help initially with the move to
        SVN/SCons and he could continue to do so.
      * There is some detailed help information already, it probably
        needs a bit of reorganization on the wiki.
      * Should we have a list of programs/libraries that should be moved
        from CVS to SVN (Armand already created an spreadsheet that has
        some of this information. It will be sent to Craig and he will
        look into it.
      * We need to freeze CVS today.



More information about the Clas_offline mailing list