# Setup area: mkdir /home/bviren/work/uno cd /home/bviren/work/uno # For non-uno code mkdir other/ cd other/ ###### CMT wget http://www.cmtsite.org/v1r14p20030811/CMTv1r14p20030811.tar.Z # who uses .Z anymore?? uncompress CMTv1r14p20030811.tar.Z gzip CMTv1r14p20030811.tar tar -xzvf CMTv1r14p20030811.tar.gz cd CMT/v1r14p20030811/mgr/ # find g++ grep g++ * # change {g++,gcc,g77} to {g++,gcc,g77}-3.2 emacs Makefile requirements # Follow http://www.cmtsite.org/install.html for the rest source setup.sh make # check that g++-3.2 is used. # add the sourcing of setup.sh to the "setup-uno" bash function ###### ROOT # already installed for MINOS use. Compiled by GCC-3.2 # add it's setup to "setup-uno" ###### CLHEP # Install latest version. cd ~/work/uno/other wget http://cern.ch/clhep/clhep-1.8.0.2.tgz tar -xzvf clhep-1.8.0.2.tgz cd CLHEP ./configure --help CC=gcc-3.2 CXX=g++-3.2 ./configure make make install prefix=/home/bviren/work/uno/CLHEP/1.8.0.0 cd /home/bviren/work/uno/CLHEP/1.8.0.0/lib mkdir shlib cd shlib ar x ../libCLHEP.a gcc-3.2 -shared -o libCLHEP.so *.o mv libCLHEP.so .. cd .. rm -r shlib # Need this env for uno to compile export CLHEP=$HOME/work/uno/CLHEP export CLHEP_LEVEL=1.8.0.0 ###### GEANT4 # download: cd ~/work/uno/other wget http://geant4.web.cern.ch/geant4/source/source/geant4.5.2.p01.tar.gz # follow: # http://geant4.web.cern.ch/geant4/G4UsersDocuments/UsersGuides/InstallationGuide/html/index.html tar -xzvf geant4.5.2.p01.tar.gz cd geant4.5.2 # change {g++,gcc,g77} to {g++,gcc,g77}-3.2 in config/sys/Linux-g++.gmk emacs config/sys/Linux-g++.gmk # Forget about the Configure script, it sucks. Follow the # 2.1 Installing Geant4 manually # section. See the script: # ~/work/uno/other/geant4.5.2/build.sourceme # DO IT: source ~/work/uno/other/geant4.5.2/build.sourceme cd source CPPVERBOSE=1 make global make includes ########## GEANT4 - second try using Configure. tar -xzvf geant4.5.2.p01.tar.gz cd geant4.5.2 export G4INSTALL=`pwd` ./Configure -install # The only non-default things are: # Where is Geant4 installed? # Please, specify where CLHEP is installed: # Do you want to build 'global' compound libraries? [n] y # Do you want to build 'shared' (.so) libraries? [n] y # G4UI_BUILD_XAW_SESSION y # G4VIS_BUILD_OPENGLX_DRIVER y # Specify the correct path (OGLHOME) where OpenGL is installed in your system: # /usr/X11R6 # # Before staring installation remove -pedanitic from the CXXFLAGS def in # geant4.5.2/config/sys/Linux-g++.gmk file. source /home/bviren/work/uno/other/geant4.5.2/env.sh > /dev/null 2>&1 ###### UNO code # Getting source mkdir ~/work/uno/code cd ~/work/uno/code cmt checkout uno cmt checkout -requirements uno/v2/cmt/requirements cd uno/v2/cmt/ cmt broadcast "(cd ..; cvs update -A -d)" # Fix unoPolicy cd ~/work/uno/code/unoPolicy/v2r0/cmt emacs requirements # g++ -> g++-3.2. Also remove "-pedantic" from cppflags Check with: cmt show macro cpp cmt show macro cppflags # Building unoCore: cd ~/work/uno/code/unoCore/v2r0/cmt make # CPPUNIT cd ~/work/uno/code cmt checkout CPPUNIT CC=gcc-3.2 CXX=g++-3.2 make # testing unoCore cd ~/work/uno/code/unoCore/v2r0/cmt make test