<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;
}
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">
</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 360MB for
+the system itself and 120MB 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
<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. 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:
-
-<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 <a href="management.html">Code Management</a> section. The
-code is dowloaded via the command:
-
+<p><li> <em>From a tar file</em>. Tar files
+ for the different releases including an up-to-date file remade
+ every night are available on the
+ <a href="http://AliSoft.cern.ch/offline/download/offline/">
+ Web server</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>
<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>
</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
<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
<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
<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
<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
<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
<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>