User Tools

Site Tools


hpc:lcgcmake

This is an old revision of the document!


LCGCMake Installation Notes

This page documents my attempts to install the LCG software core on various non-traditional machines.

The basic installation instructions are here for a standard Scientific Linix CERN 6 installation: <html><b><a href=“http://ph-dep-sft.web.cern.ch/document/using-lcgcmake” target=“_blank”>LCGCMake SLC6 Installation </a></b></html>

Installing on Cooley@ALCF

  1. Clean Cooley Login (nothing from .softrc.cooley)
  2. Create working directory
    • mkdir /path/to/lcg
    • export $LCG_PROJECT_PATH=/path/to/lcg
    • cd $LCG_PROJECT_PATH
    • soft add +cmake
    • soft add +gcc-4.8.1
  3. Install Dependencies first:
    • mkdir dependencies
    • cd dependencies
    • mkdir install
    1. procmail
      • tar zxf procmail-3.22.tar.gz
      • cd procmail-3.22
      • edit BASENAME in Makefile to be /path/to/lcg/dependencies/install
      • make lockfile CC=$(which gcc) CXX=$(which g++)
        • press enter when prompted
        • this only compiles lockfile because other parts of this package fail, but we don't need them.
      • cd ..
      • mkdir install/bin
      • ln -s $PWD/procmail-3.22/src/lockfile $PWD/install/bin/lockfile
    2. xslt (bottom of page) (depends on libxml2)
      • git clone git://git.gnome.org/libxslt
      • cd libxslt
      • ./configure –with-python –with-libxml-prefix=/path/to/lcg/dependencies/install –prefix=/path/to/lcg/dependencies/install
      • make -j 10
      • make install
      • cd ..
    3. export environment
      • export PATH=/path/to/lcg/dependencies/install/bin:$PATH
      • export LD_LIBRARY_PATH=/path/to/lcg/dependencies/install/lib:$LD_LIBRARY_PATH
  4. Get LCGCMake repository
    • cd $LCG_PROJECT_PATH
    • mkdir lcgcmake-build
    • mkdir lcgcmake-install
    • Edit lcgcmake/toolchain.cmake line 2
       set(LCG_VERSION dev2 CACHE STRING "HepTools version (aka LCG configuration)") 

      to

       set(LCG_VERSION 78root6 CACHE STRING "HepTools version (aka LCG configuration)") 

      .

    • Edit lcgcmake/projects/CMakeLists.txt line 296 from
       SVN_REPOSITORY=http://svn.cern.ch/guest/lcgcoral/coral/tags/${CORAL_native_version} --quiet 

      to

       SVN_REPOSITORY=http://svn.cern.ch/guest/lcgcoral/coral/tags/CORAL_${CORAL_native_version} --quiet 
    • Edit lcgcmake/externals/CMakeLists.txt lines 297 - 302 (or so) from
      #---Davix--------------------------------------------------------------------------------------------
      LCGPackage_Add(
        Davix
        URL http://grid-deployment.web.cern.ch/grid-deployment/dms/lcgutil/tar/davix/davix-<NATIVE_VERSION>.tar.gz
        CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
                                             -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
                                             -DBOOST_ROOT:PATHNAME=${Boost_home}
                                             -DBOOST_INCLUDEDIR=${Boost_home}/include
                                             -DBOOST_LIBRARYDIR=${Boost_home}/lib
                                             -DBoost_NO_BOOST_CMAKE=True
                                             <SOURCE_DIR>
        DEPENDS Boost
      )

      to

      #---Davix--------------------------------------------------------------------------------------------
      LCGPackage_Add(
        Davix
        URL http://grid-deployment.web.cern.ch/grid-deployment/dms/lcgutil/tar/davix/davix-<NATIVE_VERSION>.tar.gz
        CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
                                             -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
                                             -DBOOST_ROOT:PATHNAME=${Boost_home}
                                             -DBoost_INCLUDE_DIR:PATH=${Boost_home}/include/boost-1_55
                                             -DBoost_LIBRARY_DIR_DEBUG:PATH=${Boost_home}/lib
                                             -DBoost_LIBRARY_DIR_RELEASE:PATH=${Boost_home}/lib
                                             -DBoost_NO_BOOST_CMAKE:BOOL=True
                                             -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
                                             -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
                                             <SOURCE_DIR>
        DEPENDS Boost
      )
    • After the pythia8 packages download and fail to build, the Makefile's must be edited, the files lcgcmake-build/generators/pythia8-201/src/pythia8/201/Makefile have $(CXX_SONAME),$(notdir $@) which must be changed to -shared.
    • After evtgen package downloads and fails to build, the Makefile must be edited, the file lcgcmake-build/generators/evtgen-1.2.0/src/evtgen/1.2.0/Makefile have $(shell find … ) commands inside, Add -not -path '*/\.*' to the end of these finds.
  5. Create setup environment <file bash setup.sh>

#!/usr/bin/env bash soft add +cmake soft add +gcc-4.8.1

hpc/lcgcmake.1440120391.txt.gz · Last modified: 2015/08/21 01:26 by jchilders