Tree [c53547] cmake_port / iAIDA /
History



File Date Author Commit
PyAIDA 2007-07-19 ap ap [46953f] initial import
PyAIDAProxy 2007-07-19 ap ap [46953f] initial import
UserFunctions 2007-07-19 ap ap [46953f] initial import
cmake 2013-07-05 Andreas Pfeiffer Andreas Pfeiffer [91bde3] first version of new build infrastructure with ...
examples 2013-07-05 Andreas Pfeiffer Andreas Pfeiffer [91bde3] first version of new build infrastructure with ...
ext 2007-07-19 ap ap [46953f] initial import
include 2013-07-05 Andreas Pfeiffer Andreas Pfeiffer [91bde3] first version of new build infrastructure with ...
src 2013-07-05 Andreas Pfeiffer Andreas Pfeiffer [91bde3] first version of new build infrastructure with ...
tests 2013-07-05 Andreas Pfeiffer Andreas Pfeiffer [91bde3] first version of new build infrastructure with ...
.cvsignore 2007-07-19 ap ap [46953f] initial import
.gitignore 2013-07-05 Andreas Pfeiffer Andreas Pfeiffer [91bde3] first version of new build infrastructure with ...
CMakeLists.txt 2013-07-05 Andreas Pfeiffer Andreas Pfeiffer [91bde3] first version of new build infrastructure with ...
COPYING 2007-09-30 ap ap [ea194d] fixed typo in name for RootPathFormatter
COPYING.LESSER 2007-09-30 ap ap [ea194d] fixed typo in name for RootPathFormatter
ChangeLog 2011-09-08 apfeiffer apfeiffer [6f143c] updates to use boost-iostream lib (if boost is ...
Makefile.in 2011-04-09 apfeiffer apfeiffer [e56f5b] cleanup whitespace
ReadMe 2011-09-08 apfeiffer apfeiffer [4ae0da] added example for a ports installation of grace...
aida-config.in 2013-07-05 Andreas Pfeiffer Andreas Pfeiffer [c53547] added --implementation flag for aida-config
configure 2011-09-08 apfeiffer apfeiffer [6f143c] updates to use boost-iostream lib (if boost is ...

Read Me

iAIDA is a library implementing the AIDA (http://aida.freehep.org)
Abstract Interfaces for Data Analysis. The implementation is in
C++, at some later stage a binding to Python will follow.

iAIDA is based on the (now discontinued) PI (http://cern.ch/pi)
package. The main aim of iAIDA is to be easy to configure but
keep the flexibility of PI in terms of providing means to use
several of the most common I/O formats used in High Energy and
Nuclear Physics (HENP), such as HBOOK, ROOT and the AIDA native
compressed XML format.

For more information please consult: http://iaida.dynalias.net

The remainder of the file deals with the installation. For the
impatient, the recipe is (after unpacking and cd into the unpacked
dir):

./configure 
make
make install


The iAIDA package needs the following packages already installed 
(with their "development" packages as well):
e2fsprogs (version 1.39-21 tested)
expat (version 1.95.8 tested)
Boost (version 1.33.1 tested)
optionally: xmgrace (versions 5.1.22 tested)
optionally: cernlib (version 2005 tested)
optionally: root (version 5.17.02 tested)


Also AIDA (version 3.2.1) is used, if you have it installed, 
the package will use (and install) your version, otherwise 
it uses (and installs) a local copy from inside the package.

In the same way, if you don't have Boost installed, the package
will use the headers from a local copy. Expat is normally part
of any modern linux installation, so there is no local copy.

To install the package into /usr/local (assuming that the other 
packages are installed there too):

tar zxf iAIDA-1.0.18.tgz
cd iAIDA-1.0.18
./configure --prefix=/usr/local
make
make install

The configure script will tell you if it doesn't find one of 
the needed packages, if you have installed it in another place, 
you can tell the script to find it where you have installed it, 
for example:

./configure --prefix=${HOME}/install \
      --with-boost=/my/path/to/boost \
      --with-grace=${GRACE_DIR}

For more information on how to use it, just type :

./configure --help

to see a list of options and examples.

The package has been successfully build and run on the following
platforms:
Mac OS X (10.4) with gcc 4.0.1
Mac OS X (10.5) with gcc 4.0.1
Mac OS X (10.6) with gcc 4.2.1
Mac OS X (10.7) with gcc 4.2.1
Scientific Linux 4. (SLC4) with gcc 3.4.6
Scientific Linux 5. (SLC5) with gcc 3.4.6, gcc 4.3.1
SuSE 10.2 with gcc 4.1.2 (gfortran)

As of version 0.1.4 the package optionally can store and read
histograms also in HBOOK format (if you have CERNLIB installed 
before building the package).

As of version 0.2.0 the package optionally can store and read
histograms also in ROOT format.


Note for building on Mac OS X (10.4.x onwards):
-----------------------------------------------

You can download and install xmgrace from the Fink project,
the package will then be installed in the /sw directory (or
wherever you install Fink software). Simply use the configure
option to tell the package where xmgrace is installed:

./configure --prefix=../install/ --with-grace=/sw

If you install it via the MacPorts tools, you will have it in
/opt/local/, so use this command instead to tell where it is:

./configure --prefix=../install/ --with-grace=/opt/local



Note for building on SL(C)5 (gcc432) on 64bit machines with HBOOK:
------------------------------------------------------------------

The gcc4.3 compiler as shipped by RedHat on the SL(C) 5 has a broken
gfortran compiler, so you need to install the gcc 4.3 compiler from 
the LCG AA (or build your own from the GCC sources). Then you have 
to download and install the CERNLIB for x86_64-slc5-gcc43-opt from
LCG AA. Before building iAIDA you need to make sure that the correct
gcc 4.3 compiler is in your PATH.



Note for building on SL(C)4 and SL(C)5 (gcc345) on 64bit machines with HBOOK:
-----------------------------------------------------------------------------

At present there is a problem with column-wise HBOOK ntuples on 
64 bit machines (such as AMD64 bit). If you need that feature,
you will have to use a 32bit build of CERNLIB to use HBook with 
iAIDA. After installing this, you need to configure and build 
the iAIDA libs with the following commands (after unpacking the 
tarball):


linux32 ./configure --prefix <your/path/to/prefix> \
   --with-cernlib <your/path/to/cernlib/in/ia32/mode> 
linux32 make CXXFLAGS='-m32'
linux32 make CXXFLAGS='-m32' install


If you can live with row-wise HBOOK ntuples, simply use the
'--RWN' option to the creation of the tuple (the last argument
in the tupleFactory->create() call).



Note for building on SL(C)4 and SL(C)5 (gcc345) on 64bit with xmgrace:
----------------------------------------------------------------------

When you build grace, you have to set CFLAGS to -fPIC
before, otherwise you will get a linker error when building 
the iAIDA lib. The following worked for me:
CFLAGS=-fPIC ./configure ...
CFLAGS=-fPIC make