Install procedure 3.0 - Nagni 04 April 2006

To install YODA you can either use traditional Makefile (deprecated) or ANT tool (suggested).

/**************/
 USING Makefile
/**************/

1) check that you have installed ROOT and your enviroment have defined
   
#-----YODA's Environment-----------------------
# this variable define where YODA will write the managed files
export YODA_DATA= YourPathToStoreUnpackedFiles
#-----YODA's Environment-----------------------
 
#-----Cern's ROOT Environment-----------------------
export ROOTSYS=/usr/share/root
export PATH=$ROOTSYS/bin:$PATH
export LD_LIBRARY_PATH=$ROOTSYS/lib
#-----Cern's ROOT Environment-----------------------

2) check that you have installed
   ---->log4cxx (jakarta logger for c++ programs)
   ---->g77	(GNU FORTRAN Compiler)
   ---->LIBTOOL	(compiler utility)

3) create a directory (say YOUR_YODA) and copy the source into it

4) execute the following commands (please customize the ./configure line according to your system)

$ cd $YODA_ROOT
$ autoheader
$ libtoolize       (eventually "libtoolize --force")
$ export CFLAGS="-g -O4"
$ export FFLAGS="-g -O0 -keepC"
$ export CXXFLAGS="-g -O4"
$ aclocal
$ automake -a
$ autoconf
$ ./configure --prefix=/path/where/you/want/to/install --with-log4cxx=/opt/log4cxx --enable-gprof=no
$ make

that a look at the configure options
$ ./configure --help

$ ./configure

$ make

then became ROOT user to install YODA

$ make install

if everthing has been correct typing

$ yoda

the program should reply something like below

You have forgotten the file name.
Try '-help' for more information.


/**************/
   USING ANT
/**************/

For this you should have installed moreover the ANT tool also the ant-contrib package. Once you have edited and configured the "value"s of the following parameters in the build.xml file

<!--Here is where all the stuff will be installed-->
<property name="pamSoftware" value="${env.HOME}/pamela"/>
	
<!-- CERN's ROOT base directory -->
<property name="root"    value="/opt/root"/>
	
<!-- LOG4CXX base directory -->
<property name="log4cxx" value="/opt/log4cxx"/>
	
<!-- ant-contrib base directory -->
<property name="ant-contrib.lib"  value="/opt/ant-contrib/lib"/>
	
you can run (in the same folder of build.xml)

ant compileYoda

once you verified that everithing is ok run

ant deployYoda

At the end you will have into the "pamSoftware" folder a structure like
./bin/yoda
./lib/libyoda.so
./include/several ".h" files

Check the funzionality typing 

/"pamSoftware"/bin/yoda


-----> Troubleshoting <----
If you get a kind of "libxxxx.so" not found check that 

log4cxx/lib, root/lib, /"pamSoftware"/lib/

are in your LD_LIBRARY_PATH environment.



------>NOTE 1<------
On the source code is supplied also a tipical configuratin file for the Log4cxx tool.
The file is named log4cxx.conf and is designed to be put into the YODA_DATA directory.
Notice that to set the output detail level you have to modify the log4cxx.conf
according to your needs.

------>NOTE 2<------
Because of major changes in ROOT, Trees produced with a version of ROOT greater than 4.01/02 
cannot be read by older ROOT versions.

------>NOTE 3<------
If you are doing an upgrading and you are installing it in a different location be careful to not use in the LD_LIBRARY_PATH both new and old yodalib.so.
