[Dune] Problems compiling dune trunk on Cray XT6

Rebecca Neumann rebecca.neumann at iwr.uni-heidelberg.de
Mon Nov 12 17:20:10 CET 2012


Hey,
my config file for hermit looks like this:

CONFIGURE_FLAGS=" DUNE_LDFLAGS='-all-static' CC='cc' CXX='CC' 
FFLAGS='-O2' FCFLAGS='-O2' FC='ftn' --disable-documentation 
--enable-parallel --en\
able-static --disable-shared 
--with-parmetis=/zhome/academic/HLRS/lhi/lhirneum/resources/parmetis 
--with-alugrid=/zhome/academic/HLRS/lhi/lhirn\
eum/resources/ALUGrid 
--with-boost=/zhome/academic/HLRS/lhi/lhirneum/resources/boost 
--with-boost-libdir=/zhome/academic/HLRS/lhi/lhirneum/reso\
urces/boost/lib --with-superlu=/opt/cray/tpsl/1.2.00/GNU/46/interlagos 
--with-superlu-lib=libsuperlu_gnu.a --with-superlu-dist=/opt/cray/tpsl/1.\
2.00/GNU/46/interlagos/lib 
--with-super-lu-dist-lib=libsuperlu_dist_gnu.a 
--enable-fieldvector-size-is-method CXXFLAGS='-O3 -funroll-loops -fno-\
strict-aliasing -Wall'"

This works with the gnu compiler.
Last week together with Christoph we tried to compile dune with the cray 
compiler, but this did not work because the libtool version was too old 
to recognize the flag: -Wl,-zmuldefs.

Greetings,
Rebecca

-- 
Rebecca Neumann
Universität Heidelberg
Interdisziplinäres Zentrum für Wissenschaftliches Rechnen
Im Neuenheimer Feld 368, 69120 Heidelberg
Tel: 06221/548890   Fax: 06221/548884
e-mail: <rebecca.neumann at iwr.uni-heidelberg.de>

On 12.11.2012 16:38, Eike Mueller wrote:
> Hi Benedikt,
>
> I used the following config file to compile with gcc on HECToR machine 
> (is that what you are using?):
>
> AUTOGEN_FLAGS=
> CONFIGURE_FLAGS="DUNE_LDFLAGS='-all-static' CC='cc' CXX='CC' 
> CFLAGS='-O3' FFLAGS='-O3' FCFLAGS='-O3' CFLAGS='' CXXFLAGS='-DNDEBUG 
> -O3' FC='ftn' --enable-static --disable-shared 
> --prefix='/home/n02/n02/eike/work/Library/Dune' 
> --disable-documentation 
> --with-alugrid='/home/n02/n02/eike/work/Library/ALU' 
> --with-superlu='/opt/cray/tpsl/1.2.00/GNU/46/interlagos' 
> --with-superlu-lib='libsuperlu_gnu.a' 
> --with-parmetis='/opt/cray/tpsl/1.2.00/GNU/46/interlagos/lib' 
> --enable-parallel"
> MAKE_FLAGS=
>
> I haven't used the Cray compiler, though (maybe I should...). On 
> HECToR I load these modules in my .bashrc file to use the installed 
> SuperLU and PARMETIS installations (I'm not so sure why I load the 
> xt-asyncpe at the moment):
>
> module swap PrgEnv-cray PrgEnv-gnu
> module load tpsl/1.2.00
> module swap xt-asyncpe xt-asyncpe/5.06
>
> Also, I have not recompiled DUNE since the downtime last week, 
> actually it's a while since I rebuilt DUNE on that machine, but maybe 
> the information in my config file is still useful.
>
> Cheers,
>
> Eike
>
> Markus Blatt wrote:
>> 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
>>
>
>





More information about the Dune mailing list