Re: BRAG and BREG version 1.0/0 avaliable from CVS

From: Hironori Ito (hito@students.phsx.ukans.edu)
Date: Wed Jun 13 2001 - 11:35:47 EDT

  • Next message: Christian Holm Christensen: "Re: BRAG and BREG version 1.0/0 avaliable from CVS"

    	Hello.   Why do you still have lock in obsolete/urqmd???
    
    	Hiro
    
    On Tue, 12 Jun 2001, Christian Holm Christensen wrote:
    
    > Dear all, 
    > 
    > We're happy to announce the release of two new BRAHMS software
    > pacakges: BRAG and BREG. 
    > 
    > This rather long mail outlines the building and installation procedure
    > of these two pacakges.   Please read carefully.  See also individual
    > README files in the source trees.  This informtation will also be on
    > the BRAHMS WWW pages soon. 
    > 
    > BRAG (BRAhms GEANT): 
    > --------------------
    > This is our GEANT3.21 detector simulation, the software previsouly
    > known as GBRAHMS.  The somewhat ad hoc build system of the old GBRAHMS
    > has been replaced by Autotools (see below), since the upcoming BRAT2
    > will use those tools.  This allows for a homogenious build system,
    > easier installation - in short software management - as well as
    > development. 
    > 
    > BREG (BRahms Event Generators):
    > -------------------------------
    > This is a set of programs and libraries for various event generators,
    > as well as a common shared library.  This package was formerly split
    > in ... packages: EG, EGREAD, FRIT702, HIJING, NEXUS, URQMD, and
    > VENUS.  This has now been collected in one package with the
    > subpackages base, brfritiof, brhiing, brnexus, brrqmd, brurqmd, and
    > brvenus.  Please note, that brvenus _does_not_ compile under Linux
    > yet.  The package uses Autotools as the build system. 
    > 
    > 
    > Building and installing:
    > ========================
    > 
    > 0:  You need to have Autotools installed (see below) 
    > 
    > 1:  Get the source tree you want. 
    >  
    >     This can be done in two ways:
    >  
    >     a: From CVS 
    >       i:  Get directly from CVS the development sources: 
    >  
    >             cvs -d /afs/rhic/brahms/BRAHMS_CVS checkout <package> 
    >  
    >       ii: Get a specific release:
    >  
    >  	   cvs -d /afs/rhic/brahms/BRAHMS_CVS export -r <tag> <package> 
    >   
    >           See more on CVS tags below. 
    >  
    >        In any case, you should now change directory to the source tree: 
    >  
    >             cd <package> 
    >  
    >     b: Via Tar-ball 
    >        You can get a tar ball from a checked out source tree by
    >        entering the  a configured source tree and then execute 
    >  
    >             make dist 
    >  
    >        This will give you the tar-ball <package>-<version>.tar.gz,
    >        which you may transfer where ever you like, and then unpack
    >  
    >             gzip -dc <package>-<version>.tar.gz | tar xf - 
    >  
    >        which gives you the sources in the directory
    >        <package>-<version>.  Now go to that directory: 
    >  
    >             cd <package>-<version> 
    > 
    > 2:  Set up the pacakge Autotools. 
    >     If you got the sources directly from CVS, you need to prepare the
    >     Autotool for building the package.  If you got the tar-ball, this
    >     is already done for you so skip this step.
    >  
    >             aclocal -I config 
    >  	    automake -a 
    >  	    autoconf 
    >  
    >     This step is normally only needed the first time you get the
    >     sources into you working area. 
    > 
    > 3:  Configure the source tree. 
    >     At this time, we need to setup the source tree and build scripts to
    >     fit your particular system. Simply do 
    >  
    >            ./configure 
    >  
    >     You may want to pass options to the configure script.  Try
    >     "./configure --help" for a full list of avaliable options. In
    >     particular not the --prefix option (see also below).  
    > 
    > 4:  Build and install. 
    >     Now we are ready to build and install the package.  Just do: 
    >   
    >            make 
    >   	  make install 
    >   
    >     On most systems, you can lumb this into one, by simply saying "make
    >     install"
    >   
    >     If "make" isn't GNU Make, you may need to say "gmake" or install
    >     GNU Make on your system (see more in the Autotools section below).
    > 
    >     Skip this step if you are meerly obtaing the sources from RCF
    >     to build on your home system. 
    > 
    > 4a: Building a tar ball. 
    >     You may want to make a distribution tar ball.  You don't need to
    >     have build the package first, but you do need to have configured
    >     your source tree.  Simply do:
    > 
    >           make dist 
    > 
    >     This will give you the tar-ball <package>-<version>.tar.gz 
    > 
    > 4b: Checking the build. 
    >     A package may define a testsuite, which you may want to run before
    >     installing.  First build the package and then run the test suite: 
    > 
    >           make 
    > 	  make check
    > 
    >     If everyting worked fine, install the package 
    > 
    >           make install 
    > 
    > 5:  Get your shell to be able to find the program:
    >     Include in your path the directory where the program was put,
    >     which per default is ${HOME}/bin (see also below on --prefix)
    >       
    > Autotools:
    > ==========
    > Autotools is a common name for GNU Automake, GNU Autoconf, and GNU
    > Libtool.  These tools are extensively used in the OpenSource community
    > and elsewhere for building software packages.  
    > 
    > Autotools is commenly installed on GNU/Linux machines, and very often
    > on Un*x machines.   If your particular system have got these three
    > packages, don't dispear, you have a number of options (ordered by our
    > recomendation): 
    > 
    >  - If you have SysOp privileges on your machine, you may want to
    >    install it in the system directories.  
    > 
    >     - GNU/Linux packages: 
    >       There exists prebuild packages for _all_ GNU/Linux platforms, so
    >       you can get them from where you normally get packages.  
    > 
    >     - From source: 
    > 
    >          1: Get the sources from a GNU mirror (See
    > 	    www.gnu.org/server/list-mirrors.html) or from the main FTP
    > 	    site ftp.gnu.org. You'll find the Autotools in the
    > 	    directories 
    > 
    > 	      gnu/automake 
    > 	      gnu/autoconf
    > 	      gnu/libtool
    > 
    >          2: Unpack the sources.  You should start with autoconf, then
    > 	    automake, and end with libtool:
    > 
    > 	      gzip -dc <package>-<version>.tar.gz | tar xf - 
    > 
    >          3: Cd into the source tree of the package and configure the
    > 	    source tree
    > 
    > 	      cd <package>-<version>
    > 	      ./configure --prefix=/usr/local 
    >  
    >             Start with autoconf, then automake, and end with libtool. 
    > 
    >          4: Build and install 
    > 
    > 	     make install 
    > 
    >  - If you don't have SysOp privileges, do steps 1 above, but in step
    >    3, you should pass a directory you can write to via the --prefix
    >    option 
    > 
    >           3': 
    > 
    > 	      cd <package>-<version>
    > 	      ./configure --prefix=<my directory> 
    > 
    >    Please see below on choosing the prefix.  
    > 
    >  - If you have AFS access, use the Autotools installed in 
    > 
    >      /afs/rhic/opt/brahms/pro 
    > 
    >    (just put /afs/rhic/opt/brahms/pro/bin in your PATH) 
    > 
    >     The Autotools installed on the AFS area will track the ones
    >     distributed with Redhat Linux version installed on the RCAS
    >     machines.   
    > 
    > 
    > Some Make implmentations are fairly buggy (Digital Unix for one), so
    > if you don't have GNU Make installed on your system, I strongly
    > sugggest you do that before installing Autotools.  The procdure is the
    > same as above.  You can find GNU Make in gnu/make at a GNU FTP mirror
    > site. 
    > 
    > Choosing the prefix:
    > ==================== 
    > When installing packages, either the BRAHMS or third-party ones, you
    > need to give a little thought to where you want to install it.  
    > 
    > The packages will be installed in a tree like 
    > 
    >   <prefix> -+- bin
    > 	    +- include/<package>
    > 	    +- lib
    > 	    +- man 
    > 	    +- libexec 
    > 	    +- share/<package> 
    > 	    +- var
    > 
    > where <prefix> is the chosen prefix via the --prefix=<prefix> option.
    > To use the pacakge, just make sure that <prefix>/bin is in your PATH.
    > No other environment variable should be set. 
    > 
    > Finding CERNLIB:
    > ----------------
    > Some BRAG and BREG packages depend on CERNLIB being installed.  The
    > build system need to know where the libaries are installed.  per
    > default it will look in 
    > 
    >       /usr                        
    >       /usr/local                  
    >       /usr/local/cern             
    >       /usr/local/cern/pro         
    >       /usr/local/cern/new         
    >       /usr/local/cern/old         
    >       /cern                       
    >       /cern/pro                   
    >       /cern/new                   
    >       /cern/old                   
    >       /opt/cern                   
    >       /opt/cern/pro               
    >       /opt/cern/new               
    >       /opt/cern/old               
    >       /afs/cern.ch/asis/cern/pro  
    >       /afs/cern.ch/asis/cern/new  
    >       /afs/cern.ch/asis/cern/old  
    > 
    > This may be overridden by passing the --with-cern-libraries option to
    > the configure script. 
    >  
    > Special note for BREG:
    > ----------------------
    > The BREG sub-packages brfritiof, and brvenus depends on the base BREG
    > package being installed, as well as CERNLIB.  Therefore, when you
    > install BREG, take care to put it somewhere you can easily find, and
    > can easily be accesed by the build system.  Per default build system
    > looks for BREG base headers and libraries in  
    > 
    >       /usr/[lib|include]
    >       /usr/local/[lib|include]
    >       /usr/local/brahms/[lib|include]
    >       /opt/brahms/[lib|include]
    >       /opt/brahms/new/[lib|include]
    >       /opt/brahms/pro/[lib|include]
    >       /opt/brahms/old/[lib|include]
    >       /afs/rhic/opt/brahms/[lib|include]
    >       /afs/rhic/opt/brahms/new/[lib|include]
    >       /afs/rhic/opt/brahms/pro/[lib|include]
    >       /afs/rhic/opt/brahms/old/[lib|include]
    >       ${HOME}/[lib|include]
    >       ${HOME}/brahms/[lib|include]
    > 
    > This can be overridden by passing the --with-breg-libdir and
    > --with-breg-incdir options to ./configure. 
    > 
    > Recomendations: 
    > ---------------
    > 1: We recommend using the same prefix for _all_ BRAHMS software
    >    packages, and that you install ROOT under the same prefix.  
    > 
    > 2: If you need to install Autotools, and you don't have SysOp
    >    privileges, we recommend you install them using the same prefix as
    >    for the BRAHMS software. 
    > 
    > 3: If you wan't to have an old, pro, and new set of packages, we
    >    recommend you put all packages into one tree with the appropiate
    >    topprefix:	     
    > 
    >        <topprefix>-+- new         --prefix=<topprefix>/new
    >                    |
    > 		   +- pro         --prefix=<topprefix>/pro
    > 		   |
    > 		   +- old         --prefix=<topprefix>/old 
    > 
    >    Then when you configure you source tree, you'll pass it the options
    >    listed on the right.  This is the way the AFS diretories are
    >    organised. 
    > 
    >    This allows user to easily choose which version to use, by simple
    >    putting <topprefix>/<version>/bin in her PATH before all other
    >    BRAHMS paths. 
    > 
    > 4: We recomend using one of the prefixes: 
    > 
    >       /usr                  <= Need SysOp privileges 
    >       /usr/local            <= Need SysOp privileges  
    >       /usr/local/brahms
    >       /opt/brahms           
    >       ${HOME}               <= Default
    >       ${HOME}/brahms
    > 
    > CVS Tags and version numbers:
    > =============================
    > BRAG Tags will always be of the form 
    > 
    >      BRAG-<major>-<minor>-<revision> 
    > 
    > and BREG tags will be of the form 
    > 
    >      BREG-<major>-<minor>-<revision> 
    > 
    > Sub-packages of BREG will usually not have individual tags. But if
    > they do, they'll be of the form 
    > 
    >      <subpackage in capitals>-<major>-<minor>-<revision> 
    > 
    > In all of the above, 
    > 
    >   <major>    is the major version number of the package 
    >   <minor>    is the minor version number of the package 
    >   <revision> is the revision number of the package 
    > 
    > The tags should _always_ correspond to the package version number as
    > defined in the AM_INIT_AUTOMAKE macro in the configure.in file in
    > top-level source directory of BRAG or the BREG sub-packages.  The
    > format of that macro is: 
    > 
    >   AM_INIT_AUTOMAKE(<package>, <major>.<minor>.<revision>) 
    > 
    > Not that this is the _only_ place that a version bump may occure, and
    > it sould always be followed by a tagging of the CVS repository with
    > the appropaite tag as outline above. 
    > 
    > 
    > On behalf of Flemming, Kris and myself, 
    > 
    > Yours, 
    > 
    > Christian  -----------------------------------------------------------
    > Holm Christensen                             Phone:  (+45) 35 35 96 91 
    >   Sankt Hansgade 23, 1. th.                  Office: (+45) 353  25 305 
    >   DK-2200 Copenhagen N                       Web:    www.nbi.dk/~cholm    
    >   Denmark                                    Email:       cholm@nbi.dk
    > 
    



    This archive was generated by hypermail 2b29 : Wed Jun 13 2001 - 11:33:51 EDT