This is old DOUG wiki, please go to http://www.dougdevel.org/trac/wiki

Installing

From DOUGWiki

Jump to: navigation, search

Contents

From SVN

  1. get source from SVN
    • svn checkout svn://www.dougdevel.org/doug
      • You'd better use svn checkout svn://www.dougdevel.org/doug/trunk doug_trunk or otherwise you'll get all versions of branches and tags downloaded into your directory, which will take N times more space and time.
    • svn checkout svn://www.dougdevel.org/doug_examples
  2. run autogen.sh
    • need to run it once upon SVN checkout
    • DOUG should work with autoconf versions 2.59; automake version 1.9.6; libtool version 1.5.18

Continue with configuration

From distribution

Download and unpack, goto that directory

Configure

run ./configure with arguments

Command line arguments from the last configure run can be seen from the first lines of config.log

  • ./config.log is the first and very detailed source of information, eg if configure fails to find some library it contains command line used to run compiler, source code that failed and error message from the compiler.
    • as this file is quite long, error can be usually found on 3. or 4. page from the end
    • sometimes configure gives wrong hints, eg it says to miss library, but it actually cannot run mpi wrapper, so config.log is very helpful in such situations
    • This file also contains full command line configure script was run with
  • Most helpful configure parameters are
    • --with-mpi=<MPI installation directory> - root directory that contains bin, lib and include subdirectories with MPI files. It is not needed if MPI was installed to standard /usr or /usr/local directories or mpif90 is on the PATH.
    • --with-umfpack=<UMF build directory> - root directory for UMFPACK tools that contains UFConfig, AMD and UMFPACK subdirectories. It is not needed if all UMFPACK files were installed to standard /usr or /usr/local directories.
    • --disable-shared - building shared libraries fails on some architectures.
    • CPPFLAGS="<C preprocessor flags>" - like -I<mod/h include dir>
    • FCFLAGS="<fortran compiler flags>" - like optimization flags
    • LDFLAGS="<linker flags>" - like -L<library directory>

All parameters can be seen by running ./configure --help

Examples:

./configure --with-mpi=/usr/local/lam --disable-shared
./configure --with-umfpack=/tmp/olegus/doug LDFLAGS=-L/tmp/olegus/doug/lib 
     --enable-fxdr CPPFLAGS=-I/tmp/olegus/doug/include FCFLAGS="-frecord-marker=4"

Compile

run make

See Compiling for compilation issues that may require to rerun configuration step.

Executables

The executables are doug_main and doug_aggr

  • can be found in <builddir>/src/main
  • if building of shared libraries was not disabled then actual binaries are placed to .libs subdirectories (this is libtool behaviour)
    • purpose is to be able running application without installing libraries, achieved by placing wrapper scripts instead of actual binaries with changed LD_LIBRARY_PATH variable and other tricks.

Installation

Install with

make install

Uninstall with

make uninstall
Personal tools
development (restricted)