[Dune-devel] [Dune-Commit] dune-web r1038 - external_libraries

Martin Nolte nolte at mathematik.uni-freiburg.de
Fri Jul 20 10:38:15 CEST 2012


Hi Markus,

I'm not sure that this makes any sense. In my opinion, the choice of compiler 
arguments should be up to the user (maybe he wants to select the next upcoming 
standard).

We could also ask the question the other way round: Can we convince the DUNE 
developers not to magically add -std=c++0x to the compiler flags but leave 
this "choice" to the user (of course, there won't be much of a choice in the 
long run)? In my opintion, DUNE violates the principle of least surprise and 
not ALUGrid.

But most importantly: There has been the suggestion to move the ALUGrid 
bindings into a separate DUNE module that could also include the actual 
ALUGrid library. Maybe this is the best choice in the long run.

Best,

Martin

PS: If this will result in a discussion, we should move it to the FlySpray.

On 07/20/2012 09:37 AM, Markus Blatt wrote:
> Hi Martin,
>
> Is there a chance that we can convince the ALUGrid authors to add
> these flags automatically during configure? I think this would make
> life for users easier and prevent hard to find errors. Or are there
> any drawbacks when doing this?
>
> Cheers,
>
> Markus
>
> On Fri, Jul 20, 2012 at 09:31:04AM +0200, mnolte at dune-project.org wrote:
>> Author: mnolte
>> Date: 2012-07-20 09:31:04 +0200 (Fri, 20 Jul 2012)
>> New Revision: 1038
>>
>> Modified:
>>     external_libraries/install_alugrid.wml
>> Log:
>> recommend adding -std=c++0x to CXXFLAGS when configuring ALUGrid
>>
>> For gcc-4.7, this is even mandatory, as the ABI of std::list in c++0x mode
>> differs from that in C++98/C++03 mode. This causes segmentation faults at run
>> time which are very hard to pin down.
>>
>>
>> Modified: external_libraries/install_alugrid.wml
>> ===================================================================
>> --- external_libraries/install_alugrid.wml	2012-07-11 14:21:31 UTC (rev 1037)
>> +++ external_libraries/install_alugrid.wml	2012-07-20 07:31:04 UTC (rev 1038)
>> @@ -39,6 +39,14 @@
>>       and linkers you will use to compile DUNE!!
>>   </p>
>>   <p>
>> +<em>Warning</em>: DUNE automatically passes<kbd>-std=c++0x</kbd>  to the
>> +    C++ compiler (if supported). It is highly recommended that you also add
>> +    this flag to the CXXFLAGS when configuring ALUGrid.
>> +    Due to a different ABI in C++0x (C++11) mode, gcc version 4.7.0 and 4.7.1
>> +    will even produce runtime faults if this flag is omitted (see the
>> +<a href="http://gcc.gnu.org/gcc-4.7/changes.html">GCC 4.7 Release Notes</a>).
>> +</p>
>> +<p>
>>       If you want to use the parallel version of ALUGrid, please read
>>       the README file in the ALUGrid distribution.
>>   <p>For further information and additional options see</p>
>>
>>
>> _______________________________________________
>> Dune-Commit mailing list
>> Dune-Commit at dune-project.org
>> http://lists.dune-project.org/mailman/listinfo/dune-commit
>>
>

-- 
Dr. Martin Nolte <nolte at mathematik.uni-freiburg.de>

Universität Freiburg                                   phone: +49-761-203-5630
Abteilung für angewandte Mathematik                    fax:   +49-761-203-5632
Hermann-Herder-Straße 10
79104 Freiburg, Germany




More information about the Dune-devel mailing list