OPM / opm-grid

DUNE module supporting grids in a corner-point format
http://www.opm-project.org
GNU General Public License v3.0
18 stars 78 forks source link

The master branch building failed with DUNE-2.6? #590

Closed GitPaean closed 1 year ago

GitPaean commented 1 year ago

The following is the error messages, did someone else also see this?

/usr/bin/mpicxx -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DENABLE_TBB=1 -DHAVE_CONFIG_H=1 -DSILENCE_EXTERNAL_WARNINGS -D_TBB_CPP0X -I/home/kaib/OPM-master-test/debug/opm-grid-build -I/home/kaib/OPM-master-test/debug/opm-grid -I/home/kaib/local/dune2.6.0/release2.6.0_O3_mpi/include -I/usr/include/suitesparse -I/home/kaib/OPM-master-test/debug/opm-common -I/home/kaib/OPM-master-test/debug/opm-common/external/fmtlib/include -
I/home/kaib/OPM-master-test/debug/opm-common/external/cjson -I/home/kaib/OPM-master-test/debug/opm-common-build/include -I/usr/include/trilinos -pipe -std=c++17 -pedantic -Wall -Wextra -Wformat-nonliteral -Wcast-align -Wpointer-arith -Wmissing-declarations -Wcast-qual -Wshadow -Wwrite-strings -Wchar-subscripts -Wredundant-decls -fopenmp -pthread -O2 -g -DDEBUG -fPIC -fopenmp -std=c++17 -MD -MT CMakeFiles/opmgrid.dir/opm/grid
/GridHelpers.cpp.o -MF CMakeFiles/opmgrid.dir/opm/grid/GridHelpers.cpp.o.d -o CMakeFiles/opmgrid.dir/opm/grid/GridHelpers.cpp.o -c /home/kaib/OPM-master-test/debug/opm-grid/opm/grid/GridHelpers.cpp
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp: At global scope:
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:389:65: error: expected ‘;’ before ‘cc’
  389 |     using CommunicationType = CollectiveCommunication<MPI_Comm>& cc;
      |                                                                 ^~~
      |                                                                 ;
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:395:35: error: ‘CommunicationType’ does not name a type; did you mean ‘CommunicationError’?
  395 |                             const CommunicationType& _cc,
      |                                   ^~~~~~~~~~~~~~~~~
      |                                   CommunicationError
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:551:11: error: ‘CommunicationType’ does not name a type; did you mean ‘CommunicationError’?
  551 |     const CommunicationType& cc;
      |           ^~~~~~~~~~~~~~~~~
      |           CommunicationError
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp: In constructor ‘Dune::cpgrid::ZoltanSerialPartitioner::ZoltanSerialPartitioner(const Dune::CpGrid&, const std::vector<Opm::Well>*, const double*, const int&, Dune::EdgeWeightMethod, int, double, bool, int, const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&)’:
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:405:11: error: class ‘Dune::cpgrid::ZoltanSerialPartitioner’ does not have any field named ‘cc’
  405 |         , cc(_cc)
      |           ^~
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:414:43: error: ‘cc’ was not declared in this scope; did you mean ‘_cc’?
  414 |             const bool partitionIsEmpty = cc.rank() != root;
      |                                           ^~
      |                                           _cc
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp: In member function ‘std::vector<int> Dune::cpgrid::ZoltanSerialPartitioner::partitionForInfo()’:
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:423:13: error: ‘cc’ was not declared in this scope
  423 |         if (cc.rank() == root) {
      |             ^~
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp: In member function ‘std::tuple<std::vector<int, std::allocator<int> >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> > >, std::vector<std::tuple<int, int, char>, std::alloca
tor<std::tuple<int, int, char> > >, std::vector<std::tuple<int, int, char, int>, std::allocator<std::tuple<int, int, char, int> > >, Dune::cpgrid::WellConnections> Dune::cpgrid::ZoltanSerialPartitioner::partition()’:
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:442:21: error: ‘cc’ was not declared in this scope
  442 |         MPI_Barrier(cc);
      |                     ^~
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp: In destructor ‘Dune::cpgrid::ZoltanSerialPartitioner::~ZoltanSerialPartitioner()’:
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:478:13: error: ‘cc’ was not declared in this scope
  478 |         if (cc.rank() == root) {
      |             ^~
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp: In member function ‘int Dune::cpgrid::ZoltanSerialPartitioner::callZoltan()’:
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:508:69: error: ‘cc’ was not declared in this scope; did you mean ‘rc’?
  508 |             Zoltan_Set_Param(zz, "NUM_GLOBAL_PARTS", std::to_string(cc.size()).c_str());
      |                                                                     ^~
      |                                                                     rc
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:515:33: error: ‘cc’ was not declared in this scope; did you mean ‘rc’?
  515 |         bool partitionIsEmpty = cc.rank() != root;
      |                                 ^~
      |                                 rc
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp: In function ‘std::tuple<std::vector<int, std::allocator<int> >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool> > >, std::vector<std::tuple<int, int, char>, std::allocator<std
::tuple<int, int, char> > >, std::vector<std::tuple<int, int, char, int>, std::allocator<std::tuple<int, int, char, int> > >, Dune::cpgrid::WellConnections> Dune::cpgrid::zoltanSerialGraphPartitionGridOnRoot(const Dune::CpGrid&, const std::vector<Opm::Well>*, const double*, const Dune::CollectiveCommunication<ompi_communicator_t*>&, Dune::EdgeWeightMethod, int, double, bool, const std::map<std::__cxx11::basic_string<char>, s
td::__cxx11::basic_string<char> >&)’:
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:596:76: error: invalid user-defined conversion from ‘const Dune::CollectiveCommunication<ompi_communicator_t*>’ to ‘const int&’ [-fpermissive]
  596 |     ZoltanSerialPartitioner partitioner(cpgrid, wells, transmissibilities, cc, edgeWeightsMethod,
      |                                                                            ^~
In file included from /home/kaib/local/dune2.6.0/release2.6.0_O3_mpi/include/dune/common/parallel/mpihelper.hh:16,
                 from /home/kaib/OPM-master-test/debug/opm-grid/opm/grid/cpgrid/CpGridData.hpp:54,
                 from /home/kaib/OPM-master-test/debug/opm-grid/opm/grid/cpgrid/Iterators.hpp:171,
                 from /home/kaib/OPM-master-test/debug/opm-grid/opm/grid/cpgrid/Entity.hpp:266,
                 from /home/kaib/OPM-master-test/debug/opm-grid/opm/grid/CpGrid.hpp:67,
                 from /home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.hpp:25,
                 from /home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:23:
/home/kaib/local/dune2.6.0/release2.6.0_O3_mpi/include/dune/common/parallel/mpicollectivecommunication.hh:291:5: note: candidate is: ‘Dune::CollectiveCommunication<ompi_communicator_t*>::operator MPI_Comm() const’ (near match)
  291 |     operator MPI_Comm () const
      |     ^~~~~~~~
/home/kaib/local/dune2.6.0/release2.6.0_O3_mpi/include/dune/common/parallel/mpicollectivecommunication.hh:291:5: note:   no known conversion from ‘MPI_Comm’ {aka ‘ompi_communicator_t*’} to ‘const int’
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:597:99: error: invalid conversion from ‘MPI_Comm’ {aka ‘ompi_communicator_t*’} to ‘int’ [-fpermissive]
  597 |                                         root, zoltanImbalanceTol, allowDistributedWells, 0, params);
      |                                                                                                   ^
      |                                                                                                   |
      |                                                                                                   MPI_Comm {aka ompi_communicator_t*}
/home/kaib/OPM-master-test/debug/opm-grid/opm/grid/common/ZoltanPartition.cpp:395:54: note:   initializing argument 4 of ‘Dune::cpgrid::ZoltanSerialPartitioner::ZoltanSerialPartitioner(const Dune::CpGrid&, const std::vector<Opm::Well>*, const double*, const int&, Dune::EdgeWeightMethod, int, double, bool, int, const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&)’
  395 |                             const CommunicationType& _cc,
GitPaean commented 1 year ago

I just saw https://github.com/OPM/opm-grid/pull/589 . It should probably be the fix.

GitPaean commented 1 year ago

I am confirming that #589 fixes this issue. Closing it for now.