How To - Import releases/archtecture                                                                        Kenji Hamano

Last modified : Jul14, 2005                             Back to previous page      Back to How To      Back to Home


To import releases/archtecture you need a "babar" account on mercury
      > ssh -l babar mercury2.uvic.ca
  And also you need a token from SLAC
      > klog -principal [your user name] -cell slac.stanford.edu

1. Before start importing, make sure the number/name of the release, its base release and archtecture.
  You can check these at slac. Login slac machine and go to releases directory
      > ssh noric01.slac.stanford.edu
      > cd $BFROOT/dist/releases
      > ls -l
         analysis-24 -> 16.0.3-physics-1
      > ls -a 16.0.3-physics-1
         .spec-Linux24SL3_i386_gcc323
  For example, in case of analysis-24
    release number: 16.0.3-physics-1
    base release: 16.0.3
    archtecture: Linux24SL3_i386_gcc323
  If you have not yet imported the base release, you should import it first

2. To import releases, use "importrel" script. Don't foreget to keep log
      > importrel -pa 16.0.3 | tee importrel_16.0.3.log
      > importrel -pa 16.0.3-physics-1 |tee importrel_16.0.3-physics-1.log
  It will take around one hour to import a release.

3. To import archtecture, use "importarch" script
      > importarch -p 16.0.3 Linux24SL3_i386_gcc323 | tee importarch_16.0.3_Linux24SL3_i386_gcc323.log
      > importarch -p 16.0.3-physics-1 Linux24SL3_i386_gcc323 | tee importarch_16.0.3-physics-1_Linux24SL3_i386_gcc323.log

4. Fix the environment settings ( do this for both 16.0.3 and 16.0.3-physics-1)
  First check the versions of gcc++, root and objy.
   For 16.0.3-physics-1
       gcc: gcc3.2.3
       root: ROOTVER = 4.01-02
             BBRROOTSYS = $(ROOTPATH)/$(ROOTVER)/Linux24SL3_i386_gcc323
       objy: objy8.0.9
  Then go to etc directory and copy the newest release directory
      > cd $BFROOT/etc
      > cp -r 14.5.5 16.0.3-physics-1
  Then go to the SoftRelTools directory and edit files
      > cd 16.0.3-physics-1/SoftRelTools
      > emacs arch_spec.mk+ &
      > emacs arch_spec_ROOT.mk+ &
      > emacs arch_spec_Objy.mk- &
  For your convenience there are sample files you can just copy and use.
  Instead of editiong you can just copy these files
      > cp arch_spec.mk+_3.2.3 arch_spec.mk+
      > cp arch_spec_ROOT.mk+_4.01-02 arch_spec_ROOT.mk+

5. Then run "gmake siteinstall" ( do this for both 16.0.3 and 16.0.3-physics-1)
      > cd $BFROOT/dist/releases/16.0.3-physics-1
      > srtpath [return] [return]
      > gmake siteinstall

6. Create a soft link if it is necessary
      > cd $BFROOT/dist/releases
      > link -s 16.0.3-physics-1 analysis-24

7. There is a problem with the symbolic links created by "siteinstall".
   As a temporary solution, modify the problematic link by hand.
   For example, tcl8.0 problem like "Can't find a usable init.tcl".
      > cd $BFROOT/dist/releases/16.0.3-physics-1/shlib/Linux24SL3_i386_gcc323/ldlink
      > rm libtcl8.0.so
      > ln -s /usr/local/lib/libtcl8.0.so libtcl8.0.so
   For your information, the "init.tcl" is here:
      $BFROOT/dist/releases/tcl8.0/library/init.tcl
   So, another way to fix this problem is to add this line in the ".cshrc":
      setenv PATH ${PATH}:/home1x/OtherMounts/hep00/babar/dist/releases/tcl8.0

8. There is a problem of a disagreement of the file systems between the haed node (mercury2) and PBS batch nodes. There is the /usr/local/lib direcrory in the head node but not in batch nodes.
   As a temporary solution, copy necessary libraries to /home1x/hep/babar/dist/releases/xxx area.
      > cp /usr/local/lib/libstdc++-libc6.1-2.so.3 /home1x/hep/babar/dist/releases/14.5.5/shlib/Linux24SL3_i386_gcc2953/ldlink/.
      > cp /usr/local/lib/libstdc++-libc6.1-2.so.3 /home1x/hep/babar/dist/releases/16.0.3-physics-1/shlib/Linux24SL3_i386_gcc323/ldlink/.