[Dune] How to force -std=c++0x in a dune project?

Markus Blatt markus at dr-blatt.de
Sat Feb 16 20:21:14 CET 2013


On Sat, Feb 16, 2013 at 07:35:44PM +0100, Arya Fallahi wrote:
> > compilation. Similar to before, the dune-istl fails compiling. The error
> > messages returned is as the following, I have also attached the config.log
> > file to the email. Any idea why this happens?
> >
> > --- calling make for dune-istl ---
> > make
> > cd . && /bin/sh /afs/desy.de/user/a/afallahi/workspace/dune-istl/missing--run autoheader
> > rm -f stamp-h1
> > touch config.h.in
> > make  all-recursive
> > make[1]: Entering directory `/afs/
> > desy.de/user/a/afallahi/workspace/dune-istl'
> > Making all in dune
> > make[2]: Entering directory `/afs/
> > desy.de/user/a/afallahi/workspace/dune-istl/dune'
> > Making all in istl
> > make[3]: Entering directory `/afs/
> > desy.de/user/a/afallahi/workspace/dune-istl/dune/istl'
> > Making all in .
> > make[4]: Entering directory `/afs/
> > desy.de/user/a/afallahi/workspace/dune-istl/dune/istl'
> > make[4]: Nothing to be done for `all-am'.
> > make[4]: Leaving directory `/afs/
> > desy.de/user/a/afallahi/workspace/dune-istl/dune/istl'
> > Making all in tutorial
> > make[4]: Entering directory `/afs/
> > desy.de/user/a/afallahi/workspace/dune-istl/dune/istl/tutorial'
> > if /tools/gcc-4.7.2/bin/g++ -std=c++0x -DHAVE_CONFIG_H -I. -I. -I../../..
> > -I/afs/desy.de/user/a/afallahi/workspace/dune-common -I../../..
> > -I/include/boost-0 -I/afs/desy.de/user/a/afallahi/workspace/dune-common-O3 -g0 --no-strict-aliasing  -O3 -g0 --no-strict-aliasing -MT
> > example-example.o -MD -MP -MF ".deps/example-example.Tpo" -c -o
> > example-example.o `test -f 'example.cc' || echo './'`example.cc; \
> >         then mv -f ".deps/example-example.Tpo" ".deps/example-example.Po";
> > else rm -f ".deps/example-example.Tpo"; exit 1; fi
> > In file included from example.cc:17:0:
> > /afs/
> > desy.de/user/a/afallahi/workspace/dune-common/dune/common/fvector.hh:20:2:
> > warning: #warning The FieldVector class exports its size by the enum member
> > 'size'. This behavior is deprecated. In the future, 'size' will be a
> > method, which puts it in compliance with the stl conventions. To enable the
> > new behavior (and get rid of this warning), build your Dune with
> > --enable-fieldvector-size-is-method. If you do need the vector size as an
> > enum, use 'dimension'. [-Wcpp]
> > /bin/sh ../../../libtool --tag=CXX --mode=link /tools/gcc-4.7.2/bin/g++
> > -std=c++0x  -O3 -g0 --no-strict-aliasing  -L/afs/
> > desy.de/user/a/afallahi/workspace/dune-common/lib -ldunecommon   -o
> > example  example-example.o  -lm
> > /tools/gcc-4.7.2/bin/g++ -std=c++0x -O3 -g0 --no-strict-aliasing -o
> > example example-example.o  -L/afs/
> > desy.de/user/a/afallahi/workspace/dune-common/lib /afs/
> > desy.de/user/a/afallahi/workspace/dune-common/lib/.libs/libdunecommon.a-llapack -lblas -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6
> > -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64
> > -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../.. -lfrtbegin -lg2c -lm
> > example-example.o: In function
> > `_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.constprop.395':
> > example.cc:(.text+0xea): undefined reference to `std::basic_ostream<char,
> > std::char_traits<char> >& std::__ostream_insert<char,
> > std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char>
> > >&, char const*, long)'
> > example-example.o: In function


There seems to be  total mixup in your system:

You compile with gcc-4.7 and when linking the linker is told to use
the libs of the default gcc installation
-L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64
-L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..

do you have an idea where they come from? You should investigate in
this direction.

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