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 <[email protected]>
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
<[email protected]<mailto:[email protected]>> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users