This is an old revision of the document!
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: LCGCMake SLC6 Installation
.softrc.cooley
)mkdir /path/to/lcg
export $LCG_PROJECT_PATH=/path/to/lcg
cd $LCG_PROJECT_PATH
soft add +cmake
soft add +gcc-4.8.1
mkdir dependencies
cd dependencies
mkdir install
tar zxf procmail-3.22.tar.gz
cd procmail-3.22
BASENAME
in Makefile
to be /path/to/lcg/dependencies/install
make lockfile CC=$(which gcc) CXX=$(which g++)
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
tar zxf libxml2-2.9.2.tar.gz
cd libxml2-2.9.2
./configure –with-python –with-threads –prefix=/path/to/lcg/dependencies/install
make -j 10
make install
cd ..
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 ..
export PATH=/path/to/lcg/dependencies/install/bin:$PATH
export LD_LIBRARY_PATH=/path/to/lcg/dependencies/install/lib:$LD_LIBRARY_PATH
cd $LCG_PROJECT_PATH
mkdir lcgcmake-build
mkdir lcgcmake-install
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
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 )
lcgcmake/projects/CMakeLists.txt
and insert around line 99 to the ROOT package config -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
lcgcmake/projects/CMakeLists.txt
around line 186 in the RELAX package and add the lines -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
.
lcgcmake/generators/CMakeLists.txt
around line 1679 in the crmc package and add the lines -DCMAKE_MODULE_PATH=${CMAKE_SOURCE_DIR}/cmake/modules -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
.
cd lcgcmake-build
cmake -DCMAKE_INSTALL_PREFIX=../lcgcmake-install -DCMAKE_C_COMPILER=$(which gcc) -DCMAKE_CXX_COMPILER=$(which g++) ../lcgcmake
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
.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. This is to exclude the many stupid hidden files ._<fildname>
that someone must have commit to the repo from their MAC.lcgcmake-build/projects/ROOT-6.02.12/src/ROOT/6.02.12/sql/odbc/inc/TODBC*.h
a #include<sqlcli.h>
just under the #include<sql.h>
at the top of the file. Add to the files lcgcmake-build/projects/ROOT-6.02.12/src/ROOT/6.02.12/sql/odbc/src/TODBCServer.cxx
and lcgcmake-build/projects/ROOT-6.02.12/src/ROOT/6.02.12/sql/odbc/src/TODBCStatement.cxx
a #include<sqlcli1.h>
at the top of the files.#!/usr/bin/env bash soft add +cmake soft add +gcc-4.8.1