You must have a basic knowledge of file management with GNU/Linux command-line to use these tools and to understand this document. If you get a problem, make sure you read this page before reporting it.
Dependencies
These softwares:
- are developped and can run on Linux 64 bits platforms
- and may also run on Mac OSX.
You will also need mercurial and have a basic understanding of it to easily access the repositories and to keep your repositories up-to-date.
The poc-solvers need
- bash, wget, ed, automake, g++, gfortran, cmake 2.8 or above
- the development files for lapack and suitesparse
- optionally the development files for scotch, for TUGOm to run faster
- and, if you want to use these with TUGOm, the development files for arpack or parpack
The SIROCCO Tools need
- optionally
- the development files for shp for Shapefiles (.shp) support
- a late version of the poc-solvers for discretisation projection support
- flex, bison and the development files for:
- proj-4.8 or above (preferably proj-4.9.0b2 or above)
- gsl, netcdf and lapack
POCViP needs
- the development files for GTK2 and, optionally, readline
- a late version of the SIROCCO Tools
TUGO needs
- a late version of the poc-solvers with :
- at least umfpack support
- preferably scotch support
- and, for the MPI version, hwloc, metis and
- zdhips (see the documentation of INSTALL.sh in the poc-solvers for this)
- the developpment files for gsl, netcdf and, for TUGO-GUI, gtk2
For openSUSE
You may need to run the following command:
bash -cx 'sudo zypper addrepo http://download.opensuse.org/repositories/science/`lsb-release -sd |sed -re "s/ /_/g;s/\"//g"`/science.repo'
and also see http://software.opensuse.org/search for other repositories.
For Ubuntu
You may need to run the following command:
sudo apt install mercurial lib{lapack,scalapack-mpi,suitesparse,scotch,arpack2,parpack2,hwloc,proj,gsl,netcdf,gtk2.0,readline6}-dev cmake autoconf flex bison
Repositories
Access
The repositories are available from https://hg.legos.obs-mip.fr. To access the repositories you must:
- add the following lines in your
~/.hgrc
:- for older versions of hg (3 and below) :
[hostfingerprints]
# If the right fingerprint is not given in your hg config,
# then it will be shown by appending `` --insecure`` to the hg command
hg.legos.obs-mip.fr = e6:26:9a:e6:76:4c:6f:5a:40:80:b9:ac:60:38:d2:05:72:9d:5d:cd
for newer versions of hg (4 and above):
[hostsecurity]
hg.legos.obs-mip.fr:minimumprotocol = tls1.0
[hostfingerprints]
# If the right fingerprint is not given in your hg config,
# then it will be shown in the output of the following command:
# openssl s_client -connect hg.legos.obs-mip.fr:443 < /dev/null 2>/dev/null | openssl x509 -fingerprint -sha256 -noout |sed -re "s/ Fingerprint=/:/;s/SHA/sha/"
hg.legos.obs-mip.fr:fingerprints = sha256:86:eb:af:7c:38:7e:13:96:67:54:aa:a9:dd:5a:e3:5a:fd:af:4a:98:9a:8a:55:e5:96:21:07:b3:05:f4:d8:a9
- for older versions of hg (3 and below) :
- set your
https_proxy
environnement variable if you have to use a proxy to browse the web
Clone
You can then clone the content of all the repositories with this command, preferably from an empty directory:
bash -cx 'for r in poc-solvers tools tugo pocvip;do hg clone https://hg.legos.obs-mip.fr/$r;done'
Compilation instructions are all in a README
in each repository.
Update
You should also regularly update at least your sources!
- Back-up your changes, if any, with:
bash -cx 'hg diff -g > `hg parent --template "{rev}:{node|short}.patch"`'
- Update your repository with:
hg pull
- Update your sources with:
hg up
- Update your binaries as explained in the then updated
README
.