← Back to team overview

dolfin team mailing list archive

Re: Brave souls wanted - Testing SCons build of DOLFIN

 

It looks really good and it also seems to work! Excellent.

Here are some suggestions/questions for the build system.

1. I think the formatting of the error messages etc can be improved.

For example, when looking for PETSc, I get the following message:

  [scons/pkgconfig.py, l. 70] Unable to read pkg-config for petsc, will try to generate
  [scons/__init__.py, l. 616] Can not get pkg-config for petsc
  *** The pkg-config file for petsc can not be found on your system
  *** We are also unable to generate a suitable pkg-config file for petsc.
  *** If petsc are present on your system, set the PETSC_DIR environment
  *** variable to the directory where petsc is installed. If the package 
  *** is not installed, please consider to install it!

How about something like this instead:

  Checking for PETSc... no (pkg-config file not found)
    Trying to generate pkg-config file for PETSc... failed
    *** Unable to generate a suitable pkg-config-file for PETSc.
    *** If PETSc is present on your system, try setting the PETSC_DIR
    *** environment variable to the directory where PETSc is installed.

And when things work out (the build system is able to generate a
pkg-config file), then we get something like this:

  Checking for PETSc... no (pkg-config file not found)
    Trying to generate pkg-config file for PETSc... done
    Found PETSc and generated pkg-config file in [dir]

So we get a confirmation that a pkg-config file was generated and that
it is going to be used.

Then the next time we run the configure, we simply get
  
  Checking for PETSc... yes

Ideally, if everything is in place, we should get something like

  Checking for PETSc... yes
  Checking for uBLAS... yes
  Checking for UFC... yes
  Checking for FFC... yes
  Checking for libmlx2... yes
  ...

So, my specific suggestions are:

  (i)   Use "Checking for foo... yes/no" (much like autoconf)
  (ii)  Don't include line numbers etc in output (can be written to some log file)
  (iii) Indent further messages for each package (makes it easier to read)

2. It should be possible to run the build system without installing
simula-scons. It should be possible to add the location of
simula-scons in the source tree to the python path and hide it from
the user. I'd also prefer to move the directory simula-scons inside
the scons directory.

3. It should not be necessary to create a separate directory for
pkg-config files. You could check if PKG_CONFIG_PATH is set and if so
use it. Otherwise, create and use a suitable directory (like
pkgconfig) under the scons directory.

So the only thing a user should need to do when downloading DOLFIN
would be to write 'scons' (no need to install packages or settings
paths before).

Other than that I think it looks really nice. Much cleaner than our
current setup with hundreds of Makefiles and config files spread all
around the code.

-- 
Anders



On Thu, Nov 29, 2007 at 02:39:30AM +0100, Åsmund Ødegård wrote:
> Hi,
> 
> I like some brave builders, curious nerds, or really anybody, to visit http://
> fenics.org/wiki/Compiling_DOLFIN_with_SCons and follow the rough instructions!
> 

> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev



Follow ups

References