| 1 | Install procedure 3.0 - Nagni 04 April 2006 | 
| 2 |  | 
| 3 | To install YODA you can either use traditional Makefile (deprecated) or ANT tool (suggested). | 
| 4 |  | 
| 5 | /**************/ | 
| 6 | USING Makefile | 
| 7 | /**************/ | 
| 8 |  | 
| 9 | 1) check that you have installed ROOT and your enviroment have defined | 
| 10 |  | 
| 11 | #-----YODA's Environment----------------------- | 
| 12 | # this variable define where YODA will write the managed files | 
| 13 | export YODA_DATA= YourPathToStoreUnpackedFiles | 
| 14 | #-----YODA's Environment----------------------- | 
| 15 |  | 
| 16 | #-----Cern's ROOT Environment----------------------- | 
| 17 | export ROOTSYS=/usr/share/root | 
| 18 | export PATH=$ROOTSYS/bin:$PATH | 
| 19 | export LD_LIBRARY_PATH=$ROOTSYS/lib | 
| 20 | #-----Cern's ROOT Environment----------------------- | 
| 21 |  | 
| 22 | 2) check that you have installed | 
| 23 | ---->log4cxx (jakarta logger for c++ programs) | 
| 24 | ---->g77     (GNU FORTRAN Compiler) | 
| 25 | ---->LIBTOOL (compiler utility) | 
| 26 |  | 
| 27 | 3) create a directory (say YOUR_YODA) and copy the source into it | 
| 28 |  | 
| 29 | 4) execute the following commands (please customize the ./configure line according to your system) | 
| 30 |  | 
| 31 | $ cd $YODA_ROOT | 
| 32 | $ autoheader | 
| 33 | $ libtoolize       (eventually "libtoolize --force") | 
| 34 | $ export CFLAGS="-g -O4" | 
| 35 | $ export FFLAGS="-g -O0 -keepC" | 
| 36 | $ export CXXFLAGS="-g -O4" | 
| 37 | $ aclocal | 
| 38 | $ automake -a | 
| 39 | $ autoconf | 
| 40 | $ ./configure --prefix=/path/where/you/want/to/install --with-log4cxx=/opt/log4cxx --enable-gprof=no | 
| 41 | $ make | 
| 42 |  | 
| 43 | that a look at the configure options | 
| 44 | $ ./configure --help | 
| 45 |  | 
| 46 | $ ./configure | 
| 47 |  | 
| 48 | $ make | 
| 49 |  | 
| 50 | then became ROOT user to install YODA | 
| 51 |  | 
| 52 | $ make install | 
| 53 |  | 
| 54 | if everthing has been correct typing | 
| 55 |  | 
| 56 | $ yoda | 
| 57 |  | 
| 58 | the program should reply something like below | 
| 59 |  | 
| 60 | You have forgotten the file name. | 
| 61 | Try '-help' for more information. | 
| 62 |  | 
| 63 |  | 
| 64 | /**************/ | 
| 65 | USING ANT | 
| 66 | /**************/ | 
| 67 |  | 
| 68 | 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 | 
| 69 |  | 
| 70 | <!--Here is where all the stuff will be installed--> | 
| 71 | <property name="pamSoftware" value="${env.HOME}/pamela"/> | 
| 72 |  | 
| 73 | <!-- CERN's ROOT base directory --> | 
| 74 | <property name="root"    value="/opt/root"/> | 
| 75 |  | 
| 76 | <!-- LOG4CXX base directory --> | 
| 77 | <property name="log4cxx" value="/opt/log4cxx"/> | 
| 78 |  | 
| 79 | <!-- ant-contrib base directory --> | 
| 80 | <property name="ant-contrib.lib"  value="/opt/ant-contrib/lib"/> | 
| 81 |  | 
| 82 | you can run (in the same folder of build.xml) | 
| 83 |  | 
| 84 | ant compileYoda | 
| 85 |  | 
| 86 | once you verified that everithing is ok run | 
| 87 |  | 
| 88 | ant deployYoda | 
| 89 |  | 
| 90 | At the end you will have into the "pamSoftware" folder a structure like | 
| 91 | ./bin/yoda | 
| 92 | ./lib/libyoda.so | 
| 93 | ./include/several ".h" files | 
| 94 |  | 
| 95 | Check the funzionality typing | 
| 96 |  | 
| 97 | /"pamSoftware"/bin/yoda | 
| 98 |  | 
| 99 |  | 
| 100 | -----> Troubleshoting <---- | 
| 101 | If you get a kind of "libxxxx.so" not found check that | 
| 102 |  | 
| 103 | log4cxx/lib, root/lib, /"pamSoftware"/lib/ | 
| 104 |  | 
| 105 | are in your LD_LIBRARY_PATH environment. | 
| 106 |  | 
| 107 |  | 
| 108 |  | 
| 109 | ------>NOTE 1<------ | 
| 110 | On the source code is supplied also a tipical configuratin file for the Log4cxx tool. | 
| 111 | The file is named log4cxx.conf and is designed to be put into the YODA_DATA directory. | 
| 112 | Notice that to set the output detail level you have to modify the log4cxx.conf | 
| 113 | according to your needs. | 
| 114 |  | 
| 115 | ------>NOTE 2<------ | 
| 116 | Because of major changes in ROOT, Trees produced with a version of ROOT greater than 4.01/02 | 
| 117 | cannot be read by older ROOT versions. | 
| 118 |  | 
| 119 | ------>NOTE 3<------ | 
| 120 | 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. |