On Thu, Nov 5, 2015 at 12:11 PM, tschroeder <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