Hi John,
Please see my replies below.
On 11/10/2017 11:31 AM, John Peterson wrote:
On Thu, Nov 9, 2017 at 8:32 PM, Dafang Wang <[email protected]
<mailto:[email protected]>> wrote:
Hi,
I got the following error when installing Libmesh v1.0.0 with
PETSC v3.6.4/3.5.4 (neither Petsc worked).
What does this mean? What were the error messages? 1.0.0 was tagged in
June 2016, PETSc 3.6 was tagged in summer 2015 and should definitely
work with that version of libmesh.
I am installing an older version of Libmesh because only that
version is compatible with my user code.
I'm curious how extensive the incompatibilities are. It may be
something that can be remedied fairly easily with some mailing list
support.
The last time my code was successfully built, it was with Libmesh 1.0.0
and Petsc 3.5.4; it was built in Aug 2016. However, I couldn't even
reproduce the same installation on another linux desktop yesterday.
My code got different errors when compiling with various recent versions
of Libmesh (see below). It seems Libmesh removed some data structures
such as "mesh_data.h", so I am not sure how much work it will take to
adapt my user code to the latest version of Libmesh.
_*When compiling my code with Libmesh 1.2.0 and the latest Petsc (both
were successfully built), I got the following error:*_
/home/dwang/research/libmesh_mech/latest/CardiacSystemMaker.hpp:7:10:
fatal error: petsc.h: No such file or directory
#include <petsc.h>
^~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/cardiacMech.dir/build.make:92:
CMakeFiles/cardiacMech.dir/CardiacSystemMaker.cpp.o] Error 1
[ 33%] Building CXX object CMakeFiles/cardiacMech.dir/CarpMeshIO.cpp.o
/home/dwang/research/libmesh_mech/latest/CarpMeshIO.cpp:24:10: fatal
error: libmesh/mesh_data.h: No such file or directory
#include <libmesh/mesh_data.h>
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
------------------------------------------------------------------------
*_When compiling my code with Libmesh 1.1.0 and Petsc 3.7.7, I got the
folliwng error:_*
/home/dwang/research/libmesh_mech/LibmeshMechanic_2017_0701/parallel.cpp:8:15:
error: template-id ‘send<unsigned int>’ for ‘void
libMesh::Parallel::Communicator::send(unsigned int, unsigned int&, const
libMesh::Parallel::MessageTag&) const’ does not match any template
declaration
template void libMesh::Parallel::Communicator::send<unsigned
int>(unsigned int, unsigned int&, libMesh::Parallel::MessageTag const&)
const;
^~~~~~~
In file included from
/home/dwang/program/libmesh-1.1.0/RelWithDebInfo/include/libmesh/parallel.h:1302:0,
from
/home/dwang/research/libmesh_mech/LibmeshMechanic_2017_0701/utility.hpp:14,
from
/home/dwang/research/libmesh_mech/LibmeshMechanic_2017_0701/parallel.cpp:4:
/home/dwang/program/libmesh-1.1.0/RelWithDebInfo/include/libmesh/parallel_communicator_specializations:114:10:
note: candidates are: template<class T> void
libMesh::Parallel::Communicator::send(unsigned int, const
std::vector<T>&, const libMesh::Parallel::DataType&,
libMesh::Parallel::Request&, const libMesh::Parallel::MessageTag&) const
void send (const unsigned int dest_processor_id,
^~~~
/home/dwang/program/libmesh-1.1.0/RelWithDebInfo/include/libmesh/parallel_communicator_specializations:108:10:
note: template<class T> void
libMesh::Parallel::Communicator::send(unsigned int, const
std::vector<T>&, const libMesh::Parallel::DataType&, const
libMesh::Parallel::MessageTag&) const
void send (const unsigned int dest_processor_id,
^~~~
/home/dwang/program/libmesh-1.1.0/RelWithDebInfo/include/libmesh/parallel_communicator_specializations:102:10:
note: template<class T> void
libMesh::Parallel::Communicator::send(unsigned int, const
std::vector<T>&, libMesh::Parallel::Request&, const
libMesh::Parallel::MessageTag&) const
void send (const unsigned int dest_processor_id,
Any advice would be appreciated. I only found 3 threads on Google
regarding this error.
nc4internal.c:393:1: error: conflicting types for
‘nc4_rec_find_nc_type’
nc4_rec_find_nc_type(NC_GRP_INFO_T *start_grp, nc_type
target_nc_typeid)
^~~~~~~~~~~~~~~~~~~~
In file included from nc4internal.c:16:0:
../include/nc4internal.h:319:17: note: previous declaration of
‘nc4_rec_find_nc_type’ was here
NC_TYPE_INFO_T *nc4_rec_find_nc_type(NC_GRP_INFO_T *start_grp,
hid_t target_nc_typeid);
^~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:493: libnetcdf4_la-nc4internal.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory
'/home/dwang/program/libmesh-1.0.0/contrib/netcdf/v4/libsrc4'
make[2]: *** [Makefile:610: install-recursive] Error 1
make[2]: Leaving directory
'/home/dwang/program/libmesh-1.0.0/contrib/netcdf/v4'
make[1]: *** [Makefile:978: install-recursive] Error 1
make[1]: Leaving directory '/home/dwang/program/libmesh-1.0.0/contrib'
make: *** [Makefile:28784: install-recursive] Error 1
I believe this bug was fixed by Martin Luethi in libmesh
commit 896268d7, however the first version of libmesh that contains
that fix is 1.1.0. You could try cherry-picking that commit and seeing
if it fixes the problem, but your best long term bet is to just update
your user code if possible.
John, you are correct. The above error didn't arise when I was building
with Libmesh 1.1.0. However, I got another error (see my replies above).
In summary, my last working code was using Libmesh 1.0.0 and Petsc
3.5.4, and it was built over 1 year ago. My goal now is to make my code
work again with minimum effort. Which version of Libmesh/Petsc would you
suggest me try? Thanks very much for your advice!
Best,
Dafang
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users