libmesh icon indicating copy to clipboard operation
libmesh copied to clipboard

Error during make

Open amneetb opened this issue 3 years ago • 1 comments

Discussed in https://github.com/libMesh/libmesh/discussions/3356

Originally posted by amneetb July 29, 2022 Hi all,

I am getting the following error during the make stage of libmesh v1.7.1

In file included from ../libMesh/contrib/timpi/src/parallel/include/timpi/communicator.h:23:
../libMesh/contrib/timpi/src/parallel/include/timpi/standard_type.h:100:19: error: calling a private constructor of class 'TIMPI::StandardType<std::__1::vector<unsigned int, libMesh::Threads::scalable_allocator<unsigned int>>>'
  StandardType<T> returnval(example);
                  ^
../libMesh/contrib/timpi/src/algorithms/include/timpi/parallel_sync.h:180:15: note: in instantiation of function template specialization 'TIMPI::build_standard_type<std::__1::vector<unsigned int, libMesh::Threads::scalable_allocator<unsigned int>>>' requested here
  auto type = build_standard_type(static_cast<nonconst_nonref_type*>(nullptr));
              ^
../libMesh/src/base/sparsity_pattern.C:603:13: note: in instantiation of function template specialization 'TIMPI::push_parallel_vector_data<std::__1::map<unsigned int, std::__1::vector<std::__1::vector<unsigned int, libMesh::Threads::scalable_allocator<unsigned int>>>>, (lambda at ../libMesh/src/base/sparsity_pattern.C:529:5)>' requested here
  Parallel::push_parallel_vector_data(this->comm(), rows_to_send,
            ^
../libMesh/contrib/timpi/src/parallel/include/timpi/standard_type.h:72:3: note: declared private here
  StandardType(const T * example = nullptr);
  ^
1 error generated.
make[1]: *** [src/base/libmesh_dbg_la-sparsity_pattern.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [all-recursive] Error 1

I have configured libMesh using

../libMesh/configure --prefix=/Users/amneetb/Softwares/libMesh-Git/darwin-dbg --with-methods=dbg PETSC_DIR=/Users/amneetb/Softwares/PETSc-Gitlab/PETSc PETSC_ARCH=darwin-dbg CC=mpicc CXX=mpicxx FC=mpif90 F77=mpif90 --enable-exodus --enable-triangle --enable-petsc-required --disable-boost --disable-eigen --disable-hdf5 --disable-openmp --disable-perflog --disable-pthreads --disable-tbb --disable-timestamps --disable-strict-lgpl --disable-glibcxx-debugging --disable-vtk --with-thread-model=none

Any suggestions on fixing this?

amneetb avatar Jul 29 '22 23:07 amneetb

contrib/timpi/src/algorithms/include/timpi/parallel_sync.h:180:15 ... auto type = build_standard_type(static_cast<nonconst_nonref_type*>(nullptr));

I just downloaded libmesh-1.7.1.tar.bz2 to see if I could reproduce the problem, and I couldn't ... but what's interesting is I can't even reproduce this line number. In my contrib/timpi/src/algorithms/include/timpi/parallel_sync.h line 180 is a comment, // This function implements the "NBX" algorithm from, and the only call to build_standard_type is line:char 383:15.

Is it possible you've somehow got a libMesh 1.7.1 but without the corresponding TIMPI 1.7.2? But I can't actually see how you could have something so much older in it's place - libMesh 1.7.0 also used TIMPI 1.7.2, and git says that a build_standard_type call hasn't been on line 180 since TIMPI 1.5.

roystgnr avatar Aug 04 '22 21:08 roystgnr