]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - html/installation.html
Instruct on how to co the release version
[u/mrichter/AliRoot.git] / html / installation.html
index 04b3c63755685358fcc58606a5451ce5dff98f1a..4112aff543d98bdd35a212ad612a249f6d31ef5a 100644 (file)
@@ -3,8 +3,11 @@
 <HTML>
 <HEAD>
 <TITLE>Installation</TITLE>
+
 <link rev="made" href="mailto:Federico.Carminati@cern.ch">
-<STYLE>
+<link rel="stylesheet" href="http://www.w3.org/StyleSheets/Core/Swiss" type="text/css">
+<STYLE type="text/css">
+
 BODY   {       
        background:     #FFFFFF;
        }       
@@ -17,20 +20,33 @@ COL, COLGROUP, TABLE, TBODY, TD, TR {
        background:     #FFFFFF;
        }                       
 
+TABLE.wide {
+       cellspacing: 100%;
+       background: #FF0000
+       }
+
 </STYLE>
-<link rel="stylesheet" href="http://www.w3.org/StyleSheets/Core/Swiss" type="text/css">
 </HEAD>
 
-<BODY background=#FFFFFF>
+<BODY>
 <TABLE>
 <TR>
 <TD><img src="picts/MadHatter.gif" alt="ALICE Off-line Project Logo">
-<TD><img src="picts/installation_name.gif" alt="Installation Name">
+<TD><img src="picts/installation_name.gif" alt="Installation">
 <TD><img src="picts/AliceLogo.gif" alt="ALICE Logo">
 </TR>
 </TABLE>
 
-<h2>Installation</h2>
+<H2><A NAME="#Content">Content</A></H2>
+<UL>
+<LI><A HREF="#Installation">Installation</A>
+<LI><A HREF="#Code">Code development and user environment</A>
+</UL>
+
+<HR>
+
+<h2><A HREF="#Content" NAME="Installation">Installation</A></h2>
+
 
 <ol> 
 <p><li> Install <a href="http://root.cern.ch">ROOT</a> and define the
@@ -82,10 +98,8 @@ should be brought on the target machine. Three files are offered:
 </table>
 
 <p> <i>MM.mm-pp</i> is the number of the latest <i>M</i>ajor and
-<i>m</i>inor version and the <i>p</i>atch number. Please refer to the
-README file found in this directory for further information on file
-content. The file(s) have to be unpacked into the $ALICE directory via the
-command:
+<i>m</i>inor version and the <i>p</i>atch number. The file(s) have to be
+unpacked into the $ALICE directory via the command:
 
 <p><pre>$ gtar xvfz Ali[...].tar.gz</pre>
 
@@ -96,12 +110,12 @@ At the moment the problem is that the version of cvs currently installed at
 CERN (1.09) does not support well binary files. Therefore some data files
 will be missing with this download mechanism, and these will have to be
 fetched <em>by hand</em>. The setup of the access to the remote cvs server
-is described in the <a href="management.html">Code Management</a> section. The
+is described in the Code Development section. The
 code is dowloaded via the command:
 
 <p><pre>
 $ cd $ALICE
-$ cvsa co -d pro AliRoot
+$ cvsa co -r Release-3-02 -d pro AliRoot
 </pre>
 
 </ul>
@@ -122,6 +136,15 @@ $ gmake
 
 <p><li>Copy the file $ALICE_ROOT/.rootrc to your home directory
 
+<p><li>For users with c-like shells, update your search path:
+
+<p>
+<pre>
+$ rehash
+</pre>
+
+<p>This usually has to be done only once, after having defined the new PATH.
+
 <p><li>Change to your home directory and run the code
 
 <p>
@@ -135,6 +158,128 @@ root [1] .x menu.C
 </pre>
 </ol>
 
+<h2><A HREF="#Content" NAME="Code">Code development and user environment</A></h2>
+
+<p>If the ALICE environment is set up correctly, the
+<var>$ALICE_ROOT/lib/tgt_$ALICE_TARGET</var> directory is in the shared
+libraries load path, and the <var>$ALICE_ROOT/bin/tgt_$ALICE_TARGET</var>
+directory is in the PATH variable. This means that the command aliroot will
+in fact correspond to the file
+<var>$ALICE_ROOT/bin/tgt_$ALICE_TARGET/aliroot</var>.
+
+<p>This is convenient for the normal user, but as soon as the user wants to
+modify one or more directories, this arrangement becomes inefficient
+because if a local copy of one of the shared libraries is remade, the
+linker will always find the official unmodified one that sits in the above
+directory before the local one in the load library path. Moreover, and
+unless the full path is specified, the local version of the <b>aliroot</b>
+executable will be ignored and the official version executed.
+
+<p>Therefore in order to develop one or more packages locally
+(let's say the TPC) and make modifications, the following steps should be
+performed. We suppose here that the remote cvs server has been setup correctly
+as explained in the <a href="../development.html">code development</a> section.
+
+<p><table id="wide" cellspacing=10%>
+ <tr align=center>
+  <th colspan=2>
+    <hr><br>
+    <font size=+1>Preparation of the environment</font>
+    <br><hr>
+ <tr align=left>
+  <th width=30%>$ mkdir AliRoot
+  <td width=50%>create the working directory
+ <tr align=left>
+  <th>$ cd AliRoot
+  <td>set default to it
+ <tr align=left>
+  <th>$ mkdir pro
+  <td>create pro subdirectory
+ <tr align=left>
+  <th>$ cd pro
+  <td>set default to it
+ <tr align=left>
+  <th>$ ln -s $ALICE_ROOT/* ./
+  <td>link all files here
+ <tr align=left>
+  <th>$ rm lib
+  <td>remove link for library, we need a local file here to containing the new
+      TPC library
+ <tr align=left>
+  <th>$ rm bin
+  <td>remove link for bin directory, we need it to rebuild <b>aliroot</b> executable
+ <tr align=left>
+  <th>$ rm TPC
+  <td>remove link for TPC subdirectory, we need the real files here
+ <tr align=left>
+  <th>$ rm ALIROOT
+  <td>remove link to ALIROOT subdirectory, may be this is not really necessary
+      on all systems, but we do it just to be on the safe side
+ <tr align=left>
+  <th>$ cvsa co TPC
+  <td>get from the cvs server the TPC files to be modified
+ <tr align=left>
+  <th>$ cvsa co ALIROOT
+  <td>get from the server the ALIROOT files to recreate the executable
+ <tr align=left>
+  <th>$ mkdir -p lib/tgt_$ALICE_TARGET
+  <td>create library directory
+ <tr align=left>
+  <th>$ cd lib/tgt_$ALICE_TARGET
+  <td>set default to the lib directory
+ <tr align=left>
+  <th>$ ln -s $ALICE_ROOT/lib/* ./
+  <td>link all libraries here
+ <tr align=left>
+  <th>$ rm libTPC.sl (on HP)
+  <br>$ rm libTPC.so (on the other systems)
+  <td>remove link to TPC library, we need a real one
+ <tr align=left>
+  <th>$ changeRoot $HOME/AliRoot
+  <td>change the AliRoot root to $HOME/AliRoot via the <em>changeRoot</em> command
+ <tr align=left>
+  <th>$ rehash
+  <td>make sure that the new PATH is taken into account by the shell
+ <tr align=center>
+  <th colspan=2>
+    <hr><br>
+    <font size=+1>Normal development cycle</font>
+    <br><hr>
+ <tr align=left>
+  <th>$ cd $ALICE_ROOT/TPC
+  <td>(1) set default to TPC directory
+ <tr align=left>
+  <th>$ make macroclean
+  <td>clean up all objects
+ <tr align=left>
+  <th>$ emacs AliTPCv1.cxx
+  <td>(2) edit all the files...
+ <tr align=left>
+  <th>$ make
+  <td>(3) recreate ../lib/libTPC.sl
+ <tr align=left>
+  <th>$ cd ../ALIROOT
+  <td>set default to ALIROOT directory
+ <tr align=left>
+  <th>$ make macroclean
+  <td>clean up object files
+ <tr align=left>
+  <th>$ make
+  <td>make new executable
+ <tr align=left>
+  <th>$ cd <em>directory</em>
+  <td>(4) set default elsewhere
+ <tr align=left>
+  <th>$ aliroot
+  <td>(5) run aliroot
+ <tr align=center>
+  <th colspan=2>
+    <hr>
+</table>
+
+<p>Steps 1-5 are the normal development cycle after the first pass through the 
+procedure.
+
 <hr>
 <address>
           <script language="JavaScript">