Fermilab


MINOS Offline Documentation
[home] [installing MINOS software] [supported platforms] [package links] [mailing list] [HyperNews] [FAQ] [computing help] [MINOS glossary] [archives]

Transitioning to Scientific Linux SL5




CONTENTS

  • Introduction
  • These notes describe the changes that had to be made to our code to get it to run on Scientific Linux 5. The machine used was flxi06.fnal.gov (Scientific Linux SLF release 5.1 (Lederman) gcc version 4.1.2 20070626 (Red Hat 4.1.2-14).

    Note that this is for 32 bit not 64-bit machines

  • Required RPMs
  • The following RPMs were installed in addition to the standard SLF 5.1:-
      gcc-gfortran.i386
      giflib-devel.i386
      giflib-utils.i386
      imake.i386
      libgfortran.i386
      libjpeg-devel.i386
      libpng-devel.i386
      libtiff-devel.i386
      libXext
      libXext-devel
      libXft-devel.i386
      libXpm-devel.i386
    

  • CERNlib
  • If the CERNlib is not built from source then it has to be taken from an SL5 32-bit gcc 4.1 build e.g.:-
      2006b_i686-slc5-gcc41-opt/tar
    
    of
    http://cernlib.web.cern.ch/cernlib/download
    

  • Neugen3
  • The make files:-
      Make.include 
      Make.include.minos
    
    of version v3_5_5 are hardwired to use g77. To have it automatically switch to gfortran and use the option -fbounds-check which replaces -ffortran-bounds-check if the gfortran is present the following patch files had to be applied:-
    Index: Make.include
    ===================================================================
    
    RCS file: /cvs/minoscvs/rep1/neugen3/Make.include,v
    retrieving revision 1.1.2.7
    diff -u -b -r1.1.2.7 Make.include
    --- Make.include        26 Sep 2006 03:27:50 -0000      1.1.2.7
    +++ Make.include        17 Sep 2009 11:43:52 -0000
    @@ -38,6 +38,12 @@
     FORT     := g77
     FORTOPTS := $(FFLAGS) -ffortran-bounds-check -fno-second-underscore -fPIC -g -c -DLINUX $(NEUGENINCS) -I$(LUNDINCS)
    
    +# If gfortran is present, use it rather than g77
    +ifneq ($(shell which gfortran 2>/dev/null),)
    +  FORT     := gfortran
    +  FORTOPTS := $(FFLAGS) -fbounds-check -fno-second-underscore -fPIC -g -c -DLINUX $(NEUGENINCS) -I$(LUNDINCS)
    +endif
    +
     ifneq ($(LABYRINTH),)
       # modified version for MINOS
       include $(NEUGEN3PATH)/Make.include.minos
    
    
    Index: Make.include.minos
    ===================================================================
    
    RCS file: /cvs/minoscvs/rep1/neugen3/Attic/Make.include.minos,v
    retrieving revision 1.1.2.4
    diff -u -b -r1.1.2.4 Make.include.minos
    --- Make.include.minos  26 Sep 2006 02:48:22 -0000      1.1.2.4
    +++ Make.include.minos  17 Sep 2009 11:43:52 -0000
    @@ -32,8 +32,14 @@
       # make compile options compatible with standard MINOS options
       # (critical is lack of second underscore)
       # (for linking with NeugenInterface .so library one needs -fPIC)
    +  # If gfortran is present, use its bound checking option rather than g77's
    +  ifneq ($(shell which gfortran 2>/dev/null),)
    +    FORTOPTS := $(FORTOPTS) -DLINUX \
    +                -fno-second-underscore -fbounds-check -fPIC -Wall
    +  else
       FORTOPTS := $(FORTOPTS) -DLINUX \
                   -fno-second-underscore -ffortran-bounds-check -fPIC -Wall
    +  endif
     endif
    
    This patch has been applied and the v3_5_5 tag moved on:-
      Make.include       revision: 1.1.2.8
      Make.include.minos revision: 1.1.2.5 
    

  • Minossoft
  • The only problem encountered building the Minossoft code was with latex which complained:-
      Latex problem with  \htmladdnormallink{...}{...file#anchor}
      \htmladdnormallink{List of Classes of the Navigation PACKRAT}
      {http://www-numi.fnal.gov:8875/fnal_minos/computing/oo_discussions/navigation/nav_packrat.html#List of Classes:}:-
      
      [176] [177] [178] [179] [180] [181] [182]
      ! Illegal parameter number in definition of \Hy@tempa.
      
                         L
      l.1921 ...ation/nav_packrat.html#List of Classes:}
    
    when processing:-
    See \htmladdnormallink{List of Classes of the Navigation PACKRAT}
    {http://www-numi.fnal.gov:8875/fnal_minos/computing/oo_discussions/navigation/nav_packrat.html#List of Classes:}
    
    The '#' needs to be escaped.


    Page contact: Nick West
    Last Modified: $Date: 2009/09/25 06:54:10 $

    Contact: minos_software_discussion@fnal.gov
    Page viewed from http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/transition_to_sl5.html
    Fermilab
    Security, Privacy, Legal Fermi National Accelerator Laboratory