update info about cvs installation using cvs account
[u/mrichter/AliRoot.git] / html / installation.html
index 012adc9..6d68478 100644 (file)
@@ -3,8 +3,11 @@
 <HTML>
 <HEAD>
 <TITLE>Installation</TITLE>
-<link rev="made" href="mailto:Federico.Carminati@cern.ch">
-<STYLE>
+
+<link rev="made" href="mailto:webmaster@alisoft.cern.ch">
+<link rel="stylesheet" href="http://www.w3.org/StyleSheets/Core/Swiss" type="text/css">
+<STYLE type="text/css">
+
 BODY   {       
        background:     #FFFFFF;
        }       
@@ -17,11 +20,15 @@ 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">
@@ -30,7 +37,80 @@ COL, COLGROUP, TABLE, TBODY, TD, TR  {
 </TR>
 </TABLE>
 
-<h2>Installation</h2>
+<H2><A NAME="#Content">Content</A></H2>
+<UL>
+<LI><A HREF="#Prequisites">Prerequisites</A>
+<LI><A HREF="#Installation">Installation</A>
+<LI><A HREF="#Code">Code development and user environment</A>
+</UL>
+
+<HR>
+
+<h2><A HREF="#Content" NAME="Prerequisites">Prerequisites</A></h2>
+
+<h3>Environment</h3>
+
+<p> The code is actively maintained on Linux and HP (both CC and aCC
+compilers). It also runs on Compaq OSF1 and SunOS. We welcome feedback from
+the installation on other systems and we will be happy to consider 
+modifications and corrections necessary to make the installation possible.
+
+<p> The disk space required for a full installation of AliRoot is 220MB for
+the system itself and 60MB for the ROOT system.
+
+<h3>gmake</h3>
+
+<p> The installation is performed via the <kbd>
+<a href="http://www.gnu.ai.mit.edu/manual/make-3.77/make.html">
+gmake</a></kbd> program. <kbd>gmake</kbd> is the 
+<a href="http://www.gnu.ai.mit.edu">GNU</a> version of make, it is free and,
+if missing on your machine, it can be loaded from the GNU Internet site 
+<a href="ftp://ftp.gnu.ai.mit.edu/pub/gnu/make">
+ftp://ftp.gnu.ai.mit.edu/pub/gnu/make</a>. <kbd>gmake</kbd> is compatible
+with the standard UNIX <kbd>make</kbd> and on the CERN ion WGS
+<kbd>make</kbd> is aliased to <kbd>gmake</kbd>. The only files you need for 
+<kbd>gmake</kbd> are the executable <kbd>gmake</kbd>
+and the script <kbd>autoconf</kbd>, therefore you can copy such files from
+any site in a directory in your path.
+
+<h3>ROOT</h3>
+
+<p> <em>ROOT</em> is available for many platforms, therefore in most cases
+no <em>ROOT</em> installation is required. To install ROOT on your machine,
+connect to the <a href="http://root.cern.ch">web site</a> and follow the
+link <em>downloads</em>. Usually you should get the latest release, unless
+announced differently by the news of the Off-line Project.
+
+<p> All you need to do is download the compressed tar file, that usually is
+called <var>root_v...tar.gz</var>uncompress and untar it (we supposed you
+downloaded the tar file in your <var>$HOME</var>):
+
+<p><kbd>
+$ gunzip root_v...tar.gz
+<br>$ cd <i>directory</i> # name of the directory where you want ROOT to sit
+<br>$ tar xvf ~/root_v...tar
+</kbd>
+
+<p> When tar ends, you will have the full root directory tree, with already
+installed libraries for your platform. 
+
+<p> The following shell variables should be defined in the login scripts:
+
+<p><table align=centre borders=no>
+<tr><th align=left>variable</th><th align=left>value</th></tr>
+<tr><td width=50%>ROOTSYS             </td><td> <i>directory</i>/root
+<tr><td colspan=2><i><center>on all systems but HP-UX</center></i></td></tr>
+<tr><td>LD_LIBRARY_PATH</td>
+<td>$LD_LIBRARY_PATH\:$ROOTSYS/lib</td></tr>
+<tr><td colspan=2><i><center>on HP-UX</center></i></td></tr>
+<tr><td>SHLIB_PATH</td>
+<td>$SHLIB_PATH\:$ROOTSYS/lib</td></tr>
+<tr><td>PATH</td>
+<td> $PATH\:$ROOTSYS/bin </td></tr>
+</table>
+
+
+<h2><A HREF="#Content" NAME="Installation">Installation</A></h2>
 
 <ol> 
 <p><li> Install <a href="http://root.cern.ch">ROOT</a> and define the
@@ -60,46 +140,53 @@ necessary variables correctly.
 <p>At this point you should logout, login again and check that the symbols
 are set correctly.
 
-<p><li> Retrieve the AliRoot code. There are two ways to do this:
-
+<p><li> Retrieve the AliRoot code. This code is available under 3 main
+    versions (old, pro and new). Check <a href="../releases.html"> the
+    Releases page </a> to select the appropriate version and get
+    the corresponding CVS Tag.
+    There are two ways to retrieve the code: the
+    preferred way consists in retrieving a tar file on the ftp server and the
+    slow and network consuming way is checking out the whole cvs tree using
+    cvs. Cvsup may be available soon as an alternative.
+    
 <ul> 
-<p><li> <em>From a tar file</em>. This is the preferred way for those who
-do not have an internet connection to the <em>cvs</em> server from the
-machine where the code has to be installed. The <a
-href="ftp://pcepaip01.cern.ch/pub">files</a> containing the latest release
-should be brought on the target machine. Three files are offered:
-
-<p><table align=center borders=no>
-<tr><th align=left>File<th align=left>Content</tr>
-<tr><td align=center colspan=2><em>Either</em></tr>
-<tr><td>AliOffline<i>MM.mm-pp</i>.tar.gz
-<td>Code and the data files of ALICE Off-line</tr>
-<tr><td align=center colspan=2><em>Or</em></tr>
-<tr><td>AliLibs<i>MM.mm-pp</i>.tar.gz
-<td>Code and the data files of the auxiliary libraries</tr>
-<tr><td>AliRoot<i>MM.mm-pp</i>.tar.gz
-<td>All the code and the data files of the AliRoot system</tr>
-</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. The file(s) have to be
-unpacked into the $ALICE directory via the command:
-
-<p><pre>$ gtar xvfz Ali[...].tar.gz</pre>
-
-
-<p><li> <em>From cvs remote cvs server</em>. This method has the advantage
-that new patches can be incrementally retrieved and installed via internet.
-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 Code Development section. The
-code is dowloaded via the command:
-
+<p><li> <em>From a tar file</em>. This is the preferred way. Tar files
+    for the different releases including an up-to-date file remade
+    every night are available on the ftp server
+    <a href="ftp://alisoft.cern.ch/pub/offline">
+    ftp://alisoft.cern.ch/pub/offline</a>. The tar files include the
+    "CVS" subdirectories for the anonymous cvs user (login "cvs"). So after
+    getting the full tar file, it is possible to incrementally update
+    the code using cvs.
+
+    <p> The tar file(s) can to be unpacked into the ALICE directory
+    via the command: 
+    
+    <p><pre>$ gtar xvfz V3.XX.tar.gz</pre>
+    
+    <p> A script <a href="ftp://alisoft.cern.ch/pub/misc/">changeCVSRoot</a>
+    is available to convert a CVS tree under user "cvs" to another
+    user. For example, <pre> ChangeCVSRoot asmith </pre>
+    
+<p><li> <em>From cvs remote cvs server</em>.  The setup for the access
+    to the remote cvs server is described in the
+    <A HREF="/offline/development.html#Code">Code Development section</A>.
+    The code can be downloaded via the following commands:
+    
 <p><pre>
 $ cd $ALICE
-$ cvsa co -d pro AliRoot
+$ setenv CVSROOT :pserver:cvs@alisoft.cern.ch:/soft/cvsroot
+$ cvs co -r Release-3-XX -d pro AliRoot
+</pre>
+
+<p><li> <em> Update </em> In both cases running a cvs update command
+    will update the latest changes to the code in the selected branch
+    (here branch "Release-3-XX"). So, for a full update, including
+    the automatic creation a new subdirectories, the commands are:
+<p><pre>
+$ cd $ALICE/pro
+$ setenv CVSROOT :pserver:cvs@alisoft.cern.ch:/soft/cvsroot
+$ cvs update -d
 </pre>
 
 </ul>
@@ -120,6 +207,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>
@@ -133,13 +229,13 @@ root [1] .x menu.C
 </pre>
 </ol>
 
-<h2>Code development and user environment</h2>
+<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
+directory is in the PATH variable. This means that the command
+<kbd>aliroot</kbd> 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
@@ -152,10 +248,15 @@ 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="management.html">code management</a> section.
-
-<p><table>
+performed. The remote cvs server use and setup is 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
@@ -172,12 +273,20 @@ as explained in the <a href="management.html">code management</a> section.
   <th>$ ln -s $ALICE_ROOT/* ./
   <td>link all files here
  <tr align=left>
-  <th>$ rm lib
+  <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
+  <td>remove bin, we need a local copy of the <var>aliroot</var>
+      executable
+ <tr align=left>
+  <th>$ mkdir bin
+  <td>make a local bin directory 
+ <tr align=left>
+  <th>$ rm CVS
+  <td>remove the link to the CVS directory, we need a local one
+      to check-out files
  <tr align=left>
   <th>$ rm TPC
   <td>remove link for TPC subdirectory, we need the real files here
@@ -186,11 +295,13 @@ as explained in the <a href="management.html">code management</a> section.
   <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
+  <th>$ cvs co -r Release-3-XX TPC
+  <td>get from the cvs server the release version of 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
+  <th>$ cvs co -r Release-3-XX ALIROOT
+  <td>get from the server the release version of the ALIROOT files to recreate
+      the executable
  <tr align=left>
   <th>$ mkdir -p lib/tgt_$ALICE_TARGET
   <td>create library directory
@@ -198,17 +309,23 @@ as explained in the <a href="management.html">code management</a> section.
   <th>$ cd lib/tgt_$ALICE_TARGET
   <td>set default to the lib directory
  <tr align=left>
-  <th>$ ln -s $ALICE_ROOT/lib/* ./
+  <th>$ ln -s $ALICE_ROOT/lib/tgt_$ALICE_TARGET/* ./
   <td>link all libraries here
  <tr align=left>
-  <th>$ rm libTPC.sl
+  <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
+  <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
@@ -236,6 +353,9 @@ as explained in the <a href="management.html">code management</a> section.
  <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 
@@ -244,10 +364,11 @@ procedure.
 <hr>
 <address>
           <script language="JavaScript">
-             document.write("Last modified "+ document.lastModified)
+             document.write("Last modified "+ document.lastModified +" . ")
              // end of script -->
           </script>
-by <a href="mailto:Federico.Carminati@cern.ch">Federico Carminati</a>
+Please report problems to
+<a href="mailto:webmaster@alisoft.cern.ch"> webmaster@alisoft.cern.ch</a>
 </address>
 </BODY>
 </HTML>