Installation of the COMODO Tools

Installation of the COMODO Tools

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.


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 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`lsb-release -sd |sed -re "s/ /_/g;s/\"//g"`/science.repo'

and also see 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



The repositories are available from To access the repositories you must set-up connections with this server :

  • add the following lines in your ~/.hgrc :
    • for older versions of hg (3 and below) :
      # If the right fingerprint is not given in your hg config,
      # then it will be shown by appending `` --insecure`` to the hg command = 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] = tls1.0

      # 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 < /dev/null 2>/dev/null | openssl x509 -fingerprint -sha256 -noout |sed -re "s/ Fingerprint=/:/;s/SHA/sha/" = sha256:5C:18:E2:C9:6A:95:72:EF:B9:42:66:04:33:28:75:D8:F7:60:B4:13:B3:A6:09:4F:EA:C9:F9:59:38:23:28:3F
  • set your https_proxy environnement variable if you have to use a proxy to browse the web


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$r;done'

Compilation instructions are all in a README in each repository.


You should also regularly update at least your sources!

  1. Back-up your changes, if any, with:
    bash -cx 'hg diff -g > `hg parent --template "{rev}:{node|short}.patch"`'
  2. Update your repository with:
    hg pull
  3. Update your sources with:
    hg up
  4. Update your binaries as explained in the then updated README.