Welcome, Guest
Username: Password: Remember me

TOPIC: Future Telemac compilation with configure, make, make install?

Future Telemac compilation with configure, make, make install? 12 years 4 weeks ago #6072

  • schramko
  • schramko's Avatar
Hi everyone,

First of all: I think my contribution may not be the first of its kind (I wasn’t able to find out by searching this forum). If so, please apologise for any inconvenience. Having said that, I do like to have an answer to this writing.

I think Telemac is a great program to solve all kinds of problems in a shallow water context. It is fast and has loads of functionalities.

However, whenever a new version is out I feel considerable reluctance to install it. I am a big fan of installing software by compilation from source, but I do not like the Telemac way to do this at all. Please let me explain.

In my opinion the Linux world has a generic source code compilation that goes in three steps: (a) configure, (b) make and (c) make install.

The configure step seeks the appropriate required software (compile, MPI version, libmetis.a etc). This script can also be given arguments where to find these required tools. Most importantly, there is a “--prefix=” argument that enables one to specify where the compiled code is to be put (it has a default value, e.g. /usr/local). I think this is always to be preferred: never let compiled stuff reside in the same directorie(s) as source code.

In any case, a successful “configure” gives a file that is called a Makefile, which contains all information required to compile the code. If unsuccessful, the output of configure will tell you what is wrong/missing.

Next, you can simply do “make” for the actual compilation. This usually takes a while but if “configure” didn’t complain, this will most likely turn out OK.
Whatever was created with “make” will reside somewhere in the source code tree. Now “make install”, finally, will take this compiled stuff and put it in the appropriate prefix folder you specified with configure.

In the prefix directory one usually ends up with a few subdirectories only, like “bin” (where all executables are stored) and “lib” in case any libraries were compiled along the way.

The last step is to make sure that the appropriate subdirectories of the prefix installation directory are known (this comes down do setting environments variables like $PATH and $LD_LIBRARY_PATH, which can be automated in various ways) and voilà: a nice, clean and well-located version of your program has been installed.

My point: only with “configure” one has to specify stuff. No detailed editing of lengthy installation files (e.g. systel.ini), no need for python or perl, no mixed directory with source code and compiled stuff. Much more generic to install, and hence easier.

My obvious questions are: (a) why was the python-or-perl installation procedure devised and (b) will there ever be a possibility to do configure-maka-make install?

Thanks for your attention, I look forward to hearing from you.

Kind regards,

George
The administrator has disabled public write access.

Future Telemac compilation with configure, make, make install? 12 years 4 weeks ago #6082

  • ails
  • ails's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 140
  • Thank you received: 17
Dear George,

At first, thank you for the honest feedback, that's also one of the main purpose of this forum. And your question is very relevant in the context of an open-source release where a lot of new users are trying to configure, install and use Telemac.

The python environment intends to replace the Perl one but it takes a lot of time to reach a good level of maturity. That's why we kept Perl but not advised new users to use it.

I don't want to go much in details but the environment software in TELEMAC should satisfy some criteria:
  • Linux / Windows portability : Linux offers the best performance but most of Telemac's external users are on Windows on which platform the configure tool is very less practical (though it might work using the MSYS shell)
  • Be light : as we are using daily new HPC machines where we have to (easily) define custom variables. Example : on a BlueGene cluster where a cross-platform compiler must be used, it's often preferable to configure manually than to rely on an autotool

So, from my point of view, I'm not entirely confident in using configure (mainly for the Windows / Linux portability).

However, I'm definitely convinced that Telemac should use an automatic configuration tool.

HRW is leading some developments in this way, I will let Sébastien answer on their part.
For my part, I developed a set of CMake files for Telemac which is already ready for V6P2. Some work remains but I can release this set as an unofficial environment software.

I should also add that one of the driven idea of releasing Telemac as an opensource software was to find new development ressources.

With kindly regards,

Fabien Decung
The administrator has disabled public write access.

Future Telemac compilation with configure, make, make install? 12 years 4 weeks ago #6097

  • schramko
  • schramko's Avatar
Dear Fabien,

First of all: thank you for you quick and illuminating reply yesterday. I understand that other considerations have lead to a different choice in installation procedure (in particular the Linux/Windows protability, I must confess I was taking a Linux-only viewpoint).

As to the "be light" requirement, I think that configure does allow for a considerable degree of customisation since it allows for a lot of parameters to be specified. In principle, this should cover most of the systel.ini file (sorry, stuck to perl since our python version is 2.6). But I
must confess I have no experience with using cross platform compilers...

But in the end I think we both want the same: a fast but generic installation procedure. If configure - make - make install cannot be implemented then I
do hope that a larger part of the configuration can be automated (so that
less editing of a config.ini file is needed. I am then refering to things
in systel.ini like PERLPATH and PERLLIB (elementary) as well as compile and
link options for fortran and MPI.

I'm looking forward to Sébastien's reply on the developments at HRW.

Kind regards,

George
The administrator has disabled public write access.
Moderators: borisb

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.