On Mon, Jun 16, 2008 at 3:35 PM, John Peterson <[EMAIL PROTECTED]> wrote:
> On Mon, Jun 16, 2008 at 3:35 PM, John Peterson <[EMAIL PROTECTED]> wrote:
>> On Mon, Jun 16, 2008 at 1:50 PM, Roy Stogner <[EMAIL PROTECTED]> wrote:
>>>
>>> Vikram just ran into this ugly problem while trying to get Ben's code
>>> up to speed with SVN libMesh.  Here's a minimal test case:
>>>
>>>
>>> test.C:
>>>
>>> extern "C" {
>>> #include "petscoptions.h"
>>> }
>>> #include <tr1/unordered_map>
>>>
>>>
>>>
>>> That's it.  Trying to compile this breaks in the CFDLab in all sorts
>>> of fun ways.  We can work around it for now by turning off
>>> TR1_UNORDERED_MAP support (which IIRC was giving Andrea some problems
>>> over in ICES too), but I'm curious if anyone else can replicate this.
>>> Is it a quirk of our particular (somewhat out of date) PETSc and gcc
>>> versions, or is there some conflict between the PETSc namespace and
>>> the new C++ hash map standard?
>>
>> I think the problem is with Petsc.  If you include "petsc.h" before
>> petscoptions.h I think it will go away?
>
> Crap, nevermind.  If you include tr1/unordered_map *before*
> petscoptions.h it goes away.
>

OK, there's a line in
/usr/local/petsc/petsc-2.3.1/include/petscerror.h, line 261 --

extern  PetscErrorCode __gierr;

the petsc folks define __gierr and then the gcc people are apparently
trying to use this same __gierr variable somewhere (I can't see
exactly where at the moment but the error message alludes to it).  I
think this is petsc's fault because you are never supposed to use
variables starting with double underscore .

By adding this option  to the compile line

-DPETSC_SKIP_UNDERSCORE_CHKERR

the compiler error seems to have gone away.  I'm not sure what this
does to the behavior of the library, though.

-- 
John

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to