Could the error be related to this statement in my PETSc install:

Copy to DESTDIR /home/tobias/PETSc/petsc-install is now complete.
Before use - please copy/install over to specified prefix: 
/home/tobias/PETSc/petsc-install/


Not sure if I should have copied anything manually?

Also, does it matter that the PETSC_ARCH is still in
    /home/tobias/PETSc/petsc-3.6.2/
rather than in
   /home/tobias/PETSc/petsc-install/



________________________________
Von: John Peterson <jwpeter...@gmail.com>
Gesendet: Donnerstag, 5. November 2015 14:49
An: tschroeder
Cc: libmesh-users
Betreff: Re: [Libmesh-users] Neumann boundary problem for Laplace equation



On Thu, Nov 5, 2015 at 12:11 PM, tschroeder 
<tschroe...@daad-alumni.de<mailto:tschroe...@daad-alumni.de>> wrote:

I decided to start fresh.  Here is a little bit more detail:



There's an issue here: the optional INCLUDES should show your installed PETSc 
directory, but it doesn't.

 libmesh_optional_INCLUDES........ : -I/usr/include/eigen3 -I/usr/include

 libmesh_optional_LIBS............ : -L/lib -lhdf5 -Wl,-rpath,/lib -lz 
-L/usr/lib -ltbb -ltbbmalloc


LibMesh also thinks your PETSc installation has no MPI:

configure:29534: result: <<< Warning: configuring in serial - no MPI in PETSC 
config >>>

but I can see from the attached files that you did --download-mpich.  In short, 
something still isn't quite right about your PETSc installation.



Then, I executed make.

That failed, seemingly because it could not find the PETSc include file 
directory:

In file included from src/base/libmesh.C:62:0:
./include/libmesh/petsc_macro.h:93:19: fatal error: petsc.h: No such file or 
directory

This makes sense, as the path to the PETSc headers does not appear in your list 
of libmesh_optional_INCLUDES.  I'm not really sure why configure seems to find 
PETSc but then doesn't add the path to the list of includes... there may have 
been some bug in libmesh 0.9.4 that is causing this, but I don't recall there 
being one...





Starting over, I called make as follows:

C_INCLUDE_PATH=/home/tobias/PETSc/petsc-install/include
export C_INCLUDE_PATH
CPLUS_INCLUDE_PATH=/home/tobias/PETSc/petsc-install/include
export CPLUS_INCLUDE_PATH
make


Not, I get this error:


 CXX      src/partitioning/libmesh_dbg_la-parmetis_partitioner.lo
In file included from /home/tobias/PETSc/petsc-install/include/mpi.h:2216:0,
        from ./contrib/parmetis/include/parmetis.h:17,
        from src/partitioning/parmetis_partitioner.C:40:
/home/tobias/PETSc/petsc-install/include/mpicxx.h:2737:34: error: declaration 
of C function 'void Parmetis::MPI::Init(int&, char**&)' conflicts with
extern void Init(int &, char **& );
                         ^
/home/tobias/PETSc/petsc-install/include/mpicxx.h:2736:13: error: previous 
declaration 'void Parmetis::MPI::Init()' here
extern void Init(void);

This issue is caused because libmesh's parmetis installation is conflicting 
with PETSc's.  We fixed this back in March [0], but 0.9.4 was released in 
February.  Grabbing a zip file of current libmesh master [1] would fix this 
issue, and probably shed more light on why the PETSc installation's include 
path is not being set.

[0]: 
https://github.com/libMesh/libmesh/commit/51f52627cfb10462166f8661aabcde936404cecc
[1]: https://github.com/libMesh/libmesh/archive/master.zip

--
John
------------------------------------------------------------------------------
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to