[Dune] Problems compiling dune trunk on Cray XT6

Oswald Benedikt Benedikt.Oswald at psi.ch
Tue Nov 13 18:52:31 CET 2012


Dear Dune, problem solved! 

As it appears, the -static flag does not only need one dash '-' but '--'  on the Cray !!!

Using these configure flags, namely:


CONFIGURE_FLAGS="DUNE_LDFLAGS='-all-static ' MPICXX='CC' CXX='CC' CC='cc' F77='ftn' LD='CC --static'
                 CXXFLAGS='-DMPICH_IGNORE_CXX_SEEK -O2 -DNDEBUG -fomit-frame-pointer --no-strict-aliasing --static'
                 CPPFLAGS='-DMPICH_IGNORE_CXX_SEEK -O2 -DNDEBUG -DHAVE_SUPERLU_DIST -I$HOME/extlib/superludist/2.5/xt-mpich2/5.5.0/gcc/4.6.2/SRC '
                 CFLAGS='-DMPICH_IGNORE_CXX_SEEK -O2 -DNDEBUG -fomit-frame-pointer --static --no-strict-aliasing '
                 FFLAGS='-DMPICH_IGNORE_CXX_SEEK -O2 -DNDEBUG -fomit-frame-pointer --static --no-strict-aliasing '
                 LDFLAGS='--static -L$HOME/extlib/superludist/2.5/xt-mpich2/5.5.0/gcc/4.6.2/lib -lsuperlu_dist_2.5 -L$HOME/extlib/parmetis/3.2.0/xt-mpich2/5.5.0/gcc/4.6.2 -lparmetis -lmetis'
                 LTFLAGS=' '
                 --host=x86_64-unknown-linux-gnu
                 --enable-static
                 --disable-shared
                 --disable-mpiruntest
                 --enable-hades3deltd
                 --enable-hades3dfetd
                 --enable-hades3ddges
                 --enable-hades3ddgfd
                 --enable-hades3dfefd
                 --enable-hades3dfeqs
                 --disable-documentation
                 --enable-parallel
                 --enable-boost
                 --enable-petsc
                 --enable-debug-output
                 --without-gmp
                 --with-boost='$HOME/extlib/boost/1.50/gcc/4.6.2'
                 --with-metis='$HOME/extlib/metis/4.0.3/gcc/4.6.2'
                 --with-parmetis='$HOME/extlib/parmetis/3.2.0/xt-mpich2/5.5.0/gcc/4.6.2'
                 --with-rlog='$HOME/extlib/rlog/svn-rev-21/gcc/4.6.2'
                 --with-alugrid='$HOME/extlib/ALUGrid/1.94/xt-mpich2/5.5.0/gcc/4.6.2'
                 --with-petsc='$HOME/extlib/petsc/3.2-p6/xt-mpich2/5.5.0/gcc/4.6.2'
                 --prefix='/scratch/rosa/boswald/hades3d'
                 "

does the trick!

No linking problems any more...but I wonder why it worked for so long time ?

Anyway, if you need to work on Cray, requiring strictly static linking, it is a good idea
to make sure you use '--static'.

Thanks all and have a nice evening, Benedikt








------------------------------------------------------------------------------------------------------------------
Benedikt Oswald, Dr. sc. techn., dipl. El. Ing. ETH, www.psi.ch, Computational Accelerator Scientist
Paul Scherrer  Institute (PSI), CH-5232 Villigen, Suisse, benedikt.oswald at psi.ch, +41(0)56 310 32 12
"Passion is required for any great work, and for the Revolution passion and audacity are required in big doses.", 
Ernesto 'Che' Guevara, Letter to his parents.
http://amas.web.psi.ch
------------------------------------------------------------------------------------------------------------------




-----Original Message-----
From: Markus Blatt [mailto:markus at dr-blatt.de]
Sent: Mon 11/12/2012 16:24
To: Oswald Benedikt
Cc: dune
Subject: Re: [Dune] Problems compiling dune trunk on Cray XT6
 
Hey,

the flags in your opts-file seem to be a little bit messy.

On Mon, Nov 12, 2012 at 02:08:10PM +0100, Benedikt Oswald wrote:
> /bin/sh ../../../libtool --tag=CXX   --mode=link CC -std=c++0x
> -DMPICH_IGNORE_CXX_SEEK -O2 -DNDEBUG -fomit-frame-pointer -static
> --no-strict-aliasing -DHAVE_SUPERLU_DIST
> -I/users/boswald/extlib/superludist/2.5/xt-mpich2/5.5.0/gcc/4.6.2/SRC -L/users/boswald/extlib/superludist/2.5/xt-mpich2/5.5.0/gcc/4.6.2/lib -lsuperlu_dist_2.5 -L/users/boswald/extlib/parmetis/3.2.0/xt-mpich2/5.5.0/gcc/4.6.2 -lparmetis -lmetis -all-static  [...]

The -all-static flags has to be the first linker flags specified.
> 
> My configure flags for the Dune Opts file are as follows:
> 
> 
> CONFIGURE_FLAGS="DUNE_LDFLAGS='-all-static ' MPICXX='CC' CXX='CC' CC='cc' F77=ftn LD='CC'
>                  CXXFLAGS='-DMPICH_IGNORE_CXX_SEEK -O2 -DNDEBUG
> -fomit-frame-pointer -static --no-strict-aliasing 
> -DHAVE_SUPERLU_DIST
>                  -I$HOME/extlib/superludist/2.5/xt-mpich2/5.5.0/gcc/4.6.2/SRC
>                  -L$HOME/extlib/superludist/2.5/xt-mpich2/5.5.0/gcc/4.6.2/lib
>                  -lsuperlu_dist_2.5
>                  -L$HOME/extlib/parmetis/3.2.0/xt-mpich2/5.5.0/gcc/4.6.2
>                  -lparmetis -lmetis'

Please remove the linker flags (-L... -l....) and perhaps even the
static flag here.. The linker flags need to go into LDFLAGS

>                  CPPFLAGS='-DMPICH_IGNORE_CXX_SEEK -O2 -DNDEBUG
> -fomit-frame-pointer -static --no-strict-aliasing
> -DHAVE_SUPERLU_DIST
> -I$HOME/extlib/superludist/2.5/xt-mpich2/5.5.0/gcc/4.6.2/SRC
> -L$HOME/extlib/superludist/2.5/xt-mpich2/5.5.0/gcc/4.6.2/lib
> -lsuperlu_dist_2.5
> -L$HOME/extlib/parmetis/3.2.0/xt-mpich2/5.5.0/gcc/4.6.2 -lparmetis
> -lmetis'

The same holds here
>                  CFLAGS='-DMPICH_IGNORE_CXX_SEEK -O2 -DNDEBUG
> -fomit-frame-pointer -static --no-strict-aliasing
> -DHAVE_SUPERLU_DIST
> -I$HOME/extlib/superludist/2.5/xt-mpich2/5.5.0/gcc/4.6.2/SRC
> -L$HOME/extlib/superludist/2.5/xt-mpich2/5.5.0/gcc/4.6.2/lib
> -lsuperlu_dist_2.5
> -L$HOME/extlib/parmetis/3.2.0/xt-mpich2/5.5.0/gcc/4.6.2 -lparmetis
> -lmetis'

and here.

>                  FFLAGS='-DMPICH_IGNORE_CXX_SEEK -O2 -DNDEBUG
> -fomit-frame-pointer -static --no-strict-aliasing'
>                  LDFLAGS='-static
> -L$HOME/extlib/superludist/2.5/xt-mpich2/5.5.0/gcc/4.6.2/lib
> -lsuperlu_dist_2.5
> -L$HOME/extlib/parmetis/3.2.0/xt-mpich2/5.5.0/gcc/4.6.2 -lparmetis
> -lmetis'

This is the right place.
> 
> I have attached the config.log from the dune-istl module.
> 
> Why would it now advance further than before but crash with the same
> error message ?

Because the first test does not use your additional flags.


BTW: Somehow you seem to do much work in the flags manually that
configure should actually do for you. Maybe Eike and Christoph might
give you hint how they build on the Cray.

Markus

-- 
Do you need more support with DUNE or HPC in general? 

Dr. Markus Blatt - HPC-Simulation-Software & Services http://www.dr-blatt.de
Hans-Bunte-Str. 8-10, 69123 Heidelberg, Germany
Tel.: +49 (0) 160 97590858  Fax: +49 (0)322 1108991658 




More information about the Dune mailing list