SPI EXTERNAL PACKAGES BUILDING INFRASTRUCTURE
This is a very short summary of the current configuration of the build
system for external packages.
This should be mostly seen as a guide about how things were installed. There is little chance you'll need to redo it in normal operations.
See the
How to use SBE guide for installation of a new package.
Build Machine used:
-
rh73_gcc32 : lxbuild010
-
rh73_gcc323 : lxbuild003 and lxbuild010
-
rh73_icc80 : lxbuild004 and lxbuild010
-
slc3_ia32_gcc323 : lxbuild006
-
osx103_gcc3 : macsft001
- lxbuild010 for rh73_gcc32 rh73_gcc323 rh73_icc71 and rh73_icc80.
If more than one machine is referenced, please take the first one (in
bold) unless impossible (machine down, etc.).
Build directories:
The build directory is usually: /build/spi/
, exceptions are noted
below:
Initial configuration (HAS TO BE DONE ONCE FOR ALL - likely not to be done again soon except when upgrading pacman):
INSTALLING PACMAN
NOTE: pacman version are changing, take the latest.
INSTALLING SBE
At CERN
At CERN, the sbe software is installed under /afs/cern.ch/sw/lcg/contrib./ypatois/public/spi_buil_external
and there is nothing more to do.
Any other site
Download
To be done. Most likely CVS only for now.
Compilation
The build instructions are primary in XML format. This format must be converted to python scripts before SBE can be rendered usable. To do this:
- cd in the sbe directory:
$ cd < whatever >/spi_build_external
- Touch the existing files properly (needed):
$ make touch
- Clean-up (should'nt be needed if you got the code fvrom CVS, but anyway) :
$ make clean
- Create the scripts :
$ make
The actual build takes some time, if there are no error messages, it means this worked.
IMPORTANT NOTE : sbe building makes use of xslt-python
that must be available on the system. On slc3
it can be installed with teh following command:
# apt-get install libxslt-python
Preliminary setup:
- Set the platform name your going to work on:
SH $ export SPI_PLATFORM=< platform >
CSH $ setenv SPI_PLATFORM < platform >
is rh73_gcc323, osx103_gcc33, etc.
- Set the topdir (where packages will be installed):
. topdir:
SH $ export SPI_TOPDIR=/afs/cern.ch/sw/lcg/external
CSH $ setenv SPI_TOPDIR /afs/cern.ch/sw/lcg/external
- Right version of Python for pacman should be in the path: Python >=2.3
requiered.
$ source /afs/cern.ch/sw/lcg/external/Python/2.3.4/$SPI_PLATFORM/_SPI/start.(c)sh
NOTE: latest pacman seems to be able to fetch itself the right Python
version for it's own use if needed. Untested and unsure it would help us.
- spi scripts path
SH $ export SPI_SCRIPT_PATH=/afs/cern.ch/sw/lcg/contrib/ypatois/public/spi_build_external
SH =$ export PATH=${SPI_SCRIPT_PATH}:${PATH} =
CSH $ setenv SPI_SCRIPT_PATH /afs/cern.ch/sw/lcg/contrib/ypatois/public/spi_build_external
CSH $ setenv PATH ${SPI_SCRIPT_PATH}:${PATH}
- Pacman setup:
$ pushd /afs/cern.ch/sw/lcg/external/pacman/pacman/share
SH $ source setup.sh
CSH $ source setup.csh
$ popd
Note: The cd is mandatory as setup.(c)sh uses pwd (no comment).
Note2: Last pacman is a symlink always pointing to the recommanded
version of pacman to use.
Initial configuration (PER PLATFORM):
- Creating pacman playground on the build machine
$ mkdir -p /build/spi/$SPI_PLATFORM
- Pacman cache:
$ pacman -cache:/afs/cern.ch/sw/lcg/external/pacman/cache
Important
Pacman commands must always be issued from the choosen pacman area
that we defined.
How to actually install packages
To install packages see the spi-build-howto.txt document.
-- YannickPatois - 24 Feb 2005
Topic revision: r5 - 2005-05-20
- unknown