Difference between revisions of "Install the TELEMAC system"

From SourceWiki
Jump to navigation Jump to search
Line 35: Line 35:
 
$ which perl
 
$ which perl
 
/usr/bin/perl
 
/usr/bin/perl
 +
 
$ ls /usr/lib/perl*
 
$ ls /usr/lib/perl*
 
5.8.5  5.8.6  5.8.7  5.8.8  
 
5.8.5  5.8.6  5.8.7  5.8.8  

Revision as of 09:18, 13 August 2007

It is possible to install the TELEMAC system in one go with subversion by checking out the meta project systel90-meta. This will pull from the server the full dependencies for ESTEL-3D and ESTEL-2D. This article describes how to download, configure and compile a full installation of the TELEMAC system for ESTEL.

Downloading the TELEMAC system

To download the code, it is recommended to use "subversion" and the meta project systel90-meta. From now on, we assume that the user wants to install the TELEMAC system into the systel90 folder located at /path/to/systel90/. The command to use is:

$ svn checkout http://source.ggy.bris.ac.uk/subversion/systel90-meta systel90

This will create a systel90 folder containing all necessary source files for the TELEMAC system. The typical folder tree obtained after downloading is shown at the bottom of this page.

Configuration

Before being able to compile the TELEMAC system, a few configuration steps are necessary.

Paths

The executable files for the TELEMAC systel are located in the bin/ directory of the TELEMAC tree. The directory needs to be added to the PATH variable of the user. Moreover, the TELEMAC launching scripts require the current directory (./) to be in the PATH as well. A typical entry in a user login file ( for instance .bashrc) would be:

PATH=./:/path/to/systel90/bin:$PATH
export PATH

systel.ini and cfgmak.mak

The folder config-template contains an example configuration file. By default, the TELEMAc system looks for configuration files in the config directory of the systel90 tree. To get started, one can simply rename config-template into config:

$ mv config-template config

Then, the file systel.ini in /path/to/systel90/config needs editing. It starts with two separate sections called [GENERAL] and [PERL].

The [GENERAL] section contains the default language and version for all modules in the TELEMAC system

the [PERL] section is used to give the location of the perl executable (PERLPATH) and the perl library (PERL5LIB). On a typical Linux system,

$ which perl
/usr/bin/perl

$ ls /usr/lib/perl*
5.8.5  5.8.6  5.8.7  5.8.8 

Therefore, on this system, the [PERL] section would be:

[PERL]
PERLPATH=/usr/bin
PERL5LIB=/usr/lib/perl5/5.8.8

When the configuration of systel.ini is done, one must create a configuration file for the compilation. This is done automatically when issuing the command:

$ cfgmak

This will create a file called cfgmak.mak in the same directory. cfgmak.mak should not be edited manually, any configuration change should be done in systel.ini and the command cfgmak will update cfgmak.mak accordingly.

Multiple configuration

It is also possible to make use of several config directories, for instance to swap between version, compiler or operating system platform. This is done by pointing the environement variable SYSTELCFG to the relevant directory containing the configuration. For instance to use the configuration stored in config/, one would use:

export SYSTELCFG=/path/to/systel90/config1

The typical .bashrc for ESTEL shows how switching configurations can be done on the fly. Note that when using this approach, the command cfgmak needs to be re-issued if the systel.ini has been changed so that the file cfgmak.mak is rebuilt accordingly for compilation purposes.

Compilation

Final TELEMAC tree

  • systel90
    • bief
      • bief_v5p7
        • sources
      • bief_v5p8
        • sources
    • bin
    • config-template
    • damocles
      • damo_v5p7
        • sources
      • damo_v5p8
        • sources
    • estel2d
      • estel2d_v5p7
        • lib
        • sources
        • test.gb
      • estel2d_v5p8
        • lib
        • sources
        • test.gb
    • estel3d
      • estel2d_v5p7
        • sources
        • test.gb
      • estel2d_v5p8
        • sources
        • test.gb
    • parallel
      • parallel_v5p7
        • metis_distrib
        • sources
      • parallel_v5p8
        • metis_distrib
        • sources
    • paravoid
      • paravoid_v5p7
        • sources
      • paravoid_v5p8
        • sources
    • special
      • special_v5p7
        • sources
      • special_v5p8
        • sources
    • sisyphe
      • sisyphe_v5p7
        • lib
        • sources
        • sources_util
      • sisyphe_v5p8
        • lib
        • sources
        • sources_util
    • telemac2d
      • tel2d_v5p7
        • lib
        • sources
      • tel2d_v5p8
        • lib
        • sources