Hi, John
I have the following error if I compile libmesh using openmpi. I am
reposting it because this time it is different from what I posted earlier
(sorry, it did not go to libmesh-users). I have the same petsc as mentioned
in the previous post.

../configure --prefix=/opt/libmesh/1.7.0 --with-cxx=mpicxx --enable-parmesh
--disable-tecio --disable-fparser --with-mpi=/usr/lib64/openmpi/bin/
gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)



CXXLD    fparser_parse-opt
/usr/bin/ld: warning: libmpi.so.40, needed by
/autofs/awcm/shared/awcm++/libs/libmesh/build-mpi/contrib/timpi/src/.libs/libtimpi_opt.so,
may conflict with libmpi.so.12
/usr/bin/ld: warning: libmpi.so.40, needed by
/autofs/awcm/shared/awcm++/libs/libmesh/build-mpi/contrib/timpi/src/.libs/libtimpi_opt.so,
may conflict with libmpi.so.12
/usr/bin/ld: ./.libs/libmesh_opt.so: undefined reference to
`TIMPI::Communicator::Communicator(int const&)'
/usr/bin/ld: ./.libs/libmesh_opt.so: undefined reference to
`TIMPI::Request::Request(int const&)'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:13545: fparser_parse-opt] Error 1
make[1]: Leaving directory
'/autofs/awcm/shared/awcm++/libs/libmesh/build-mpi'
make: *** [Makefile:32158: all-recursive] Error 1

=====================================
Jahrul Alam, PhD
Associate Professor, Dept of Mathematics and Statistics
Memorial University, St John's, NL, Canada
http://www.math.mun.ca/~alamj/
eMail: al...@mun.ca
Office: HH-3054, Tel: 709-864 8071
=====================================


On Mon, Apr 5, 2021 at 1:36 PM Jahrul Alam <al...@mun.ca> wrote:

>
> Hi John
> Compiling with intel 2020, I get the posted error (regardless of 1.6.0,
> 1.6.1, 1.7.0_pre). With intel 2020, I was able to compile libMesh-1.7.0_pre
> without PETSc, where I have PETSc 3.14.1.
>
> On a different workstation, I have Fedora 31,  gcc 9.3.1 and PETSC 3.9.x.
> Here, I have a different error regarding TIMPI (I have posted earlier, see
> below).
>
> I did a "git clone petsc" to get fresh petsc on my fedora box, and
> /configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich
> --download-fblaslapack.
>
> I now configure libmes (note the choice of mpicxx download with petsc)
> build]$ ../configure --prefix=/opt/libmesh/1.7.0
> --with-cxx=/autofs/awcm/shared/awcm++/libs/petsc/arch-linux-c-debug/bin/mpicxx
>
> Can you check if the auto pointer in parallel_algebra needs to be improved
> to make it compiler friendly. This line 218 gave me some hard time, but it
> is fixed in my case.
>
> Previous error with TIMPI:
>
> In file included from ../src/base/dof_map_constraints.C:39:
>
> ./include/libmesh/parallel_algebra.h: In constructor 
> ‘TIMPI::StandardType<libMesh::Point>::StandardType(const
> libMesh::Point*)’:
>
> ./include/libmesh/parallel_algebra.h:218:34: error: cannot convert 
> ‘TIMPI::StandardType<double>’
> to ‘MPI_Datatype’ {aka ‘ompi_datatype_t*’} in initialization
>
>   218 |     MPI_Datatype tmptype, type = T_type;
>
>
>
> =====================================
> Jahrul Alam, PhD
> Associate Professor, Dept of Mathematics and Statistics
> Memorial University, St John's, NL, Canada
> http://www.math.mun.ca/~alamj/
> eMail: al...@mun.ca
> Office: HH-3054, Tel: 709-864 8071
> =====================================
>
>
> On Mon, Apr 5, 2021 at 11:22 AM John Peterson <jwpeter...@gmail.com>
> wrote:
>
>> Hi,
>>
>> There was a somewhat recent discussion about this issue on #2565 and
>> #2827,
>> but as far as I know, it was never satisfactorily resolved at that time,
>> otherwise the update would presumably have made it into 1.6.1.
>>
>> Jahrul, just to confirm, are you saying that libmesh master works for you
>> with Intel 18 (or newer) compilers? Also, if I understand correctly, you
>> had to update PETSc as well? Can you let us know what version of PETSc you
>> used?
>>
>> --
>> John
>>
>>
>> On Sun, Apr 4, 2021 at 11:54 AM Jahrul Alam <al...@mun.ca> wrote:
>>
>> > I have a similar error with 1.6.1.tar.gz. Using git, I get 1.7.0_pre,
>> and
>> > following is the error. Now, I have done a fresh installation of latest
>> > PETSc, configured libmesh using
>> > --with-cxx=/path/to/petsc/arch-linux-c-debug/bin/mpicxx, everything
>> else is
>> > as before, libmesh compiled smoothly with no error.
>> >
>> >
>> >  CXX      src/base/libmesh_opt_la-dirichlet_boundary.lo
>> > In file included from ./include/libmesh/fe_base.h(26),
>> >                  from ./include/libmesh/fem_context.h(27),
>> >                  from ./include/libmesh/fem_function_base.h(26),
>> >                  from ./include/libmesh/composite_fem_function.h(23),
>> >                  from ../src/base/dirichlet_boundary.C(25):
>> > ./include/libmesh/fe_abstract.h(491): error: more than one operator "+"
>> > matches these operands:
>> >             built-in operator "arithmetic + arithmetic"
>> >             function "operator+(const PetscInt={int} &, const
>> PetscComplex
>> > &)"
>> >             operand types are: const libMesh::OrderWrapper + const
>> unsigned
>> > int
>> >     Order get_order()  const { return static_cast<Order>(fe_type.order +
>> > _p_level); }
>> >                                                                        ^
>> >
>> > make[1]: *** [Makefile:25279:
>> > src/base/libmesh_opt_la-dirichlet_boundary.lo] Error 1
>> >
>> >
>> >
>> >
>> > =====================================
>> > Jahrul Alam, PhD
>> > Memorial University, St John's, NL, Canada
>> > http://www.math.mun.ca/~alamj/
>> > eMail: al...@mun.ca
>> > Office: HH-3054, Tel: 709-864 8071
>> > =====================================
>> >
>> >
>> > On Sun, Apr 4, 2021 at 12:15 PM Charles Puelz <charles.pu...@gmail.com>
>> > wrote:
>> >
>> > > I am having an issue building 1.6.1 on TACC with the intel compilers
>> > > (18.0.2)
>> > >
>> > > I am getting this error:
>> > >
>> > > ./include/libmesh/fe_abstract.h(443): error: more than one operator
>> "+"
>> > > matches these operands:
>> > >             built-in operator "arithmetic + arithmetic"
>> > >             function "operator+(const PetscInt={int} &, const
>> > PetscComplex
>> > > &)"
>> > >             operand types are: const libMesh::OrderWrapper + const
>> > unsigned
>> > > int
>> > >     Order get_order()  const { return
>> static_cast<Order>(fe_type.order +
>> > > _p_level); }
>> > >
>> > > I've attached my configure log file.  Any thoughts?
>> > >
>> > > Thanks!
>> > >
>> > > -- Charles
>> >
>> >
>>
>> _______________________________________________
>> Libmesh-users mailing list
>> Libmesh-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/libmesh-users
>>
>

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

Reply via email to