Compilation error of test program: "MatDenseGetArray" was not declared in this scope
Hei, I just encountered an issue which I can not solve on my own. I wrote a test program on my development machine, and compilation works fine, but when trying to compile it on the production machine compilation fails with /[ 25%] Building CXX object CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o// ///share/apps/software/OpenMPI/3.1.3-gcccuda-2019a/bin/mpicxx -DBOOST_NO_AUTO_PTR -DUSE_CUDA -DUSE_PHYSICS_VARIABLES -Dtest_program_EXPORTS -I~/work_directory/full_physics/Test-Controller/library/include -I~/work_directory/full_physics/physics_variables/include -I~/local_opt_GCC7/interp2d/include -I/usr/include/eigen3 -I/share/apps/software/Compiler/GCC/8.2.0-2.31.1/GSL/2.5/include -I/share/apps/software/MPI/intel/2018.3.222-GCC-7.3.0-2.30/impi/2018.3.222/imkl/2018.3.222/compilers_and_libraries_2018.3.222/linux/mkl/include -isystem ~/local_opt_GCC7/dealii/include -isystem ~/local_opt_GCC7/dealii/include/deal.II/bundled -isystem /share/apps/software/Core/icc/2019.1.144-GCC-8.2.0-2.31.1/tbb/include -isystem ~/local_opt_GCC7/boost/include -isystem ~/local_opt_GCC7/petsc/include -isystem ~/local_opt_GCC7/trilinos/include -isystem ~/local_opt_GCC7/arrayfire/include -isystem /share/apps/software/imkl/2019.5.281-iimpi-2019b/mkl/include -isystem ~/local_opt_GCC7/suitesparse/include -isystem /share/apps/software/MPI/GCC-CUDA/8.2.0-2.31.1-10.1.105/OpenMPI/3.1.3/HDF5/1.10.5/include -isystem /share/apps/software/Compiler/GCCcore/8.2.0/zlib/1.2.11/include -isystem /share/apps/software/Compiler/GCCcore/8.2.0/Szip/2.1.1/include -isystem /share/apps/software/Compiler/GCC/8.2.0-2.31.1/CUDA/10.1.105/include -isystem /share/apps/software/Compiler/GCC/8.2.0-2.31.1/OpenMPI/3.1.3/include -isystem ~/local_opt_GCC7/adol-c/include -isystem ~/local_opt_GCC7/p4est/include -isystem ~/local_opt_GCC7/slepc/include -isystem ~/local_opt_GCC7/armadillo/include -isystem /share/apps/software/MPI/GCC-CUDA/8.2.0-2.31.1-10.1.105/OpenMPI/3.1.3/FFTW/3.3.8/include -march=native -fopenmp-simd -fPIC -flto -march=native -fopenmp -O2 -funroll-loops -funroll-all-loops -fstrict-aliasing -DMKL_LP64 -m64 -O3 -DNDEBUG -fPIC -pedantic -fPIC -Wall -Wextra -Wmissing-braces -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wswitch -Wsynth -Wwrite-strings -Wno-placement-new -Wno-literal-suffix -Wno-psabi -Wno-class-memaccess -fopenmp-simd -march=native -mavx -Wno-unused-local-typedefs -O2 -funroll-loops -funroll-all-loops -fstrict-aliasing -Werror -flto -std=gnu++17 -MD -MT CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o -MF CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o.d -o CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o -c ~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp: In member function 'void tester_helper::nonlinear_step(double&, double)':// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:765:5: error: 'MatDenseGetArrayWrite' was not declared in this scope// // MatDenseGetArrayWrite (petsc_field.pc_spectral, &write_ptr);// // ^~~~~~~~~~~~~~~~~~~~~// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:765:5: note: suggested alternative: 'MatDenseGetArrayRead'// // MatDenseGetArrayWrite (petsc_field.pc_spectral, &write_ptr);// // ^~~~~~~~~~~~~~~~~~~~~// // MatDenseGetArrayRead// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:772:5: error: 'MatDenseRestoreArrayWrite' was not declared in this scope// // MatDenseRestoreArrayWrite (petsc_field.pc_spectral, &write_ptr);// // ^~~~~~~~~~~~~~~~~~~~~~~~~// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:772:5: note: suggested alternative: 'MatDenseRestoreArrayRead'// // MatDenseRestoreArrayWrite (petsc_field.pc_spectral, &write_ptr);// // ^~~~~~~~~~~~~~~~~~~~~~~~~// // MatDenseRestoreArrayRead// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp: In member function 'void tester_helper::nonlinear_step_material_transition()':// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:870:4: error: 'MatDenseGetArrayWrite' was not declared in this scope// // MatDenseGetArrayWrite(split_mat, &write_mat_ptr);// // ^~~~~~~~~~~~~~~~~~~~~// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:870:4: note: suggested alternative: 'MatDenseGetArrayRead'// // MatDenseGetArrayWrite(split_mat, &write_mat_ptr);// // ^~~~~~~~~~~~~~~~~~~~~// // MatDenseGetArrayRead// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:874:4: error: 'MatDenseRestoreArrayWrite' was not declared in this scope// // MatDenseRestoreArrayWrite(split_mat, &write_mat_ptr);// // ^~~~~~~~~~~~~~~~~~~~~~~~~// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:874:4: note: suggested alternative: 'MatDenseRestoreArrayRead'// // MatDenseRestoreArrayWrite(split_mat, &write_mat_ptr);// // ^~~~~~~~~~~~~~~~~~~~~~~~~// // MatDenseRestoreArrayRead/ Where does that error come from, and how can I fix it/circumvent it? I compile the program using gcc 8.2.0 (including mpi-wrappers) on the production machine, and with gcc 9.3.1 on the dev machine. Thanks, regards, Roland
On Tue, Jan 19, 2021 at 7:28 AM Roland Richter <[email protected]> wrote:
Hei,
I just encountered an issue which I can not solve on my own. I wrote a test program on my development machine, and compilation works fine, but when trying to compile it on the production machine compilation fails with
I believe your production machine has PETSc version < 3.14, since MatDenseGetArrayWrite() was not introduced until 3,14.
Thanks, Matt
*[ 25%] Building CXX object CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o* */share/apps/software/OpenMPI/3.1.3-gcccuda-2019a/bin/mpicxx -DBOOST_NO_AUTO_PTR -DUSE_CUDA -DUSE_PHYSICS_VARIABLES -Dtest_program_EXPORTS -I~/work_directory/full_physics/Test-Controller/library/include -I~/work_directory/full_physics/physics_variables/include -I~/local_opt_GCC7/interp2d/include -I/usr/include/eigen3 -I/share/apps/software/Compiler/GCC/8.2.0-2.31.1/GSL/2.5/include -I/share/apps/software/MPI/intel/2018.3.222-GCC-7.3.0-2.30/impi/2018.3.222/imkl/2018.3.222/compilers_and_libraries_2018.3.222/linux/mkl/include -isystem ~/local_opt_GCC7/dealii/include -isystem ~/local_opt_GCC7/dealii/include/deal.II/bundled -isystem /share/apps/software/Core/icc/2019.1.144-GCC-8.2.0-2.31.1/tbb/include -isystem ~/local_opt_GCC7/boost/include -isystem ~/local_opt_GCC7/petsc/include -isystem ~/local_opt_GCC7/trilinos/include -isystem ~/local_opt_GCC7/arrayfire/include -isystem /share/apps/software/imkl/2019.5.281-iimpi-2019b/mkl/include -isystem ~/local_opt_GCC7/suitesparse/include -isystem /share/apps/software/MPI/GCC-CUDA/8.2.0-2.31.1-10.1.105/OpenMPI/3.1.3/HDF5/1.10.5/include -isystem /share/apps/software/Compiler/GCCcore/8.2.0/zlib/1.2.11/include -isystem /share/apps/software/Compiler/GCCcore/8.2.0/Szip/2.1.1/include -isystem /share/apps/software/Compiler/GCC/8.2.0-2.31.1/CUDA/10.1.105/include -isystem /share/apps/software/Compiler/GCC/8.2.0-2.31.1/OpenMPI/3.1.3/include -isystem ~/local_opt_GCC7/adol-c/include -isystem ~/local_opt_GCC7/p4est/include -isystem ~/local_opt_GCC7/slepc/include -isystem ~/local_opt_GCC7/armadillo/include -isystem /share/apps/software/MPI/GCC-CUDA/8.2.0-2.31.1-10.1.105/OpenMPI/3.1.3/FFTW/3.3.8/include -march=native -fopenmp-simd -fPIC -flto -march=native -fopenmp -O2 -funroll-loops -funroll-all-loops -fstrict-aliasing -DMKL_LP64 -m64 -O3 -DNDEBUG -fPIC -pedantic -fPIC -Wall -Wextra -Wmissing-braces -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wswitch -Wsynth -Wwrite-strings -Wno-placement-new -Wno-literal-suffix -Wno-psabi -Wno-class-memaccess -fopenmp-simd -march=native -mavx -Wno-unused-local-typedefs -O2 -funroll-loops -funroll-all-loops -fstrict-aliasing -Werror -flto -std=gnu++17 -MD -MT CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o -MF CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o.d -o CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o -c ~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp* *~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp: In member function 'void tester_helper::nonlinear_step(double&, double)':* *~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:765:5: error: 'MatDenseGetArrayWrite' was not declared in this scope* * MatDenseGetArrayWrite (petsc_field.pc_spectral, &write_ptr);* * ^~~~~~~~~~~~~~~~~~~~~* *~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:765:5: note: suggested alternative: 'MatDenseGetArrayRead'* * MatDenseGetArrayWrite (petsc_field.pc_spectral, &write_ptr);* * ^~~~~~~~~~~~~~~~~~~~~* * MatDenseGetArrayRead* *~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:772:5: error: 'MatDenseRestoreArrayWrite' was not declared in this scope* * MatDenseRestoreArrayWrite (petsc_field.pc_spectral, &write_ptr);* * ^~~~~~~~~~~~~~~~~~~~~~~~~* *~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:772:5: note: suggested alternative: 'MatDenseRestoreArrayRead'* * MatDenseRestoreArrayWrite (petsc_field.pc_spectral, &write_ptr);* * ^~~~~~~~~~~~~~~~~~~~~~~~~* * MatDenseRestoreArrayRead* *~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp: In member function 'void tester_helper::nonlinear_step_material_transition()':* *~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:870:4: error: 'MatDenseGetArrayWrite' was not declared in this scope* * MatDenseGetArrayWrite(split_mat, &write_mat_ptr);* * ^~~~~~~~~~~~~~~~~~~~~* *~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:870:4: note: suggested alternative: 'MatDenseGetArrayRead'* * MatDenseGetArrayWrite(split_mat, &write_mat_ptr);* * ^~~~~~~~~~~~~~~~~~~~~* * MatDenseGetArrayRead* *~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:874:4: error: 'MatDenseRestoreArrayWrite' was not declared in this scope* * MatDenseRestoreArrayWrite(split_mat, &write_mat_ptr);* * ^~~~~~~~~~~~~~~~~~~~~~~~~* *~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:874:4: note: suggested alternative: 'MatDenseRestoreArrayRead'* * MatDenseRestoreArrayWrite(split_mat, &write_mat_ptr);* * ^~~~~~~~~~~~~~~~~~~~~~~~~* * MatDenseRestoreArrayRead*
Where does that error come from, and how can I fix it/circumvent it? I compile the program using gcc 8.2.0 (including mpi-wrappers) on the production machine, and with gcc 9.3.1 on the dev machine.
Thanks,
regards,
Roland
-- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
Yes, that's it, thanks for the fast help! Regards, Roland Am 19.01.21 um 14:55 schrieb Matthew Knepley:
On Tue, Jan 19, 2021 at 7:28 AM Roland Richter <[email protected] <mailto:[email protected]>> wrote:
Hei,
I just encountered an issue which I can not solve on my own. I wrote a test program on my development machine, and compilation works fine, but when trying to compile it on the production machine compilation fails with
I believe your production machine has PETSc version < 3.14, since MatDenseGetArrayWrite() was not introduced until 3,14.
Thanks,
Matt
/[ 25%] Building CXX object CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o// ///share/apps/software/OpenMPI/3.1.3-gcccuda-2019a/bin/mpicxx -DBOOST_NO_AUTO_PTR -DUSE_CUDA -DUSE_PHYSICS_VARIABLES -Dtest_program_EXPORTS -I~/work_directory/full_physics/Test-Controller/library/include -I~/work_directory/full_physics/physics_variables/include -I~/local_opt_GCC7/interp2d/include -I/usr/include/eigen3 -I/share/apps/software/Compiler/GCC/8.2.0-2.31.1/GSL/2.5/include -I/share/apps/software/MPI/intel/2018.3.222-GCC-7.3.0-2.30/impi/2018.3.222/imkl/2018.3.222/compilers_and_libraries_2018.3.222/linux/mkl/include -isystem ~/local_opt_GCC7/dealii/include -isystem ~/local_opt_GCC7/dealii/include/deal.II/bundled -isystem /share/apps/software/Core/icc/2019.1.144-GCC-8.2.0-2.31.1/tbb/include -isystem ~/local_opt_GCC7/boost/include -isystem ~/local_opt_GCC7/petsc/include -isystem ~/local_opt_GCC7/trilinos/include -isystem ~/local_opt_GCC7/arrayfire/include -isystem /share/apps/software/imkl/2019.5.281-iimpi-2019b/mkl/include -isystem ~/local_opt_GCC7/suitesparse/include -isystem /share/apps/software/MPI/GCC-CUDA/8.2.0-2.31.1-10.1.105/OpenMPI/3.1.3/HDF5/1.10.5/include -isystem /share/apps/software/Compiler/GCCcore/8.2.0/zlib/1.2.11/include -isystem /share/apps/software/Compiler/GCCcore/8.2.0/Szip/2.1.1/include -isystem /share/apps/software/Compiler/GCC/8.2.0-2.31.1/CUDA/10.1.105/include -isystem /share/apps/software/Compiler/GCC/8.2.0-2.31.1/OpenMPI/3.1.3/include -isystem ~/local_opt_GCC7/adol-c/include -isystem ~/local_opt_GCC7/p4est/include -isystem ~/local_opt_GCC7/slepc/include -isystem ~/local_opt_GCC7/armadillo/include -isystem /share/apps/software/MPI/GCC-CUDA/8.2.0-2.31.1-10.1.105/OpenMPI/3.1.3/FFTW/3.3.8/include -march=native -fopenmp-simd -fPIC -flto -march=native -fopenmp -O2 -funroll-loops -funroll-all-loops -fstrict-aliasing -DMKL_LP64 -m64 -O3 -DNDEBUG -fPIC -pedantic -fPIC -Wall -Wextra -Wmissing-braces -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wswitch -Wsynth -Wwrite-strings -Wno-placement-new -Wno-literal-suffix -Wno-psabi -Wno-class-memaccess -fopenmp-simd -march=native -mavx -Wno-unused-local-typedefs -O2 -funroll-loops -funroll-all-loops -fstrict-aliasing -Werror -flto -std=gnu++17 -MD -MT CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o -MF CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o.d -o CMakeFiles/test_program.dir/source/core/tester_helper.cpp.o -c ~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp: In member function 'void tester_helper::nonlinear_step(double&, double)':// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:765:5: error: 'MatDenseGetArrayWrite' was not declared in this scope// // MatDenseGetArrayWrite (petsc_field.pc_spectral, &write_ptr);// // ^~~~~~~~~~~~~~~~~~~~~// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:765:5: note: suggested alternative: 'MatDenseGetArrayRead'// // MatDenseGetArrayWrite (petsc_field.pc_spectral, &write_ptr);// // ^~~~~~~~~~~~~~~~~~~~~// // MatDenseGetArrayRead// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:772:5: error: 'MatDenseRestoreArrayWrite' was not declared in this scope// // MatDenseRestoreArrayWrite (petsc_field.pc_spectral, &write_ptr);// // ^~~~~~~~~~~~~~~~~~~~~~~~~// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:772:5: note: suggested alternative: 'MatDenseRestoreArrayRead'// // MatDenseRestoreArrayWrite (petsc_field.pc_spectral, &write_ptr);// // ^~~~~~~~~~~~~~~~~~~~~~~~~// // MatDenseRestoreArrayRead// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp: In member function 'void tester_helper::nonlinear_step_material_transition()':// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:870:4: error: 'MatDenseGetArrayWrite' was not declared in this scope// // MatDenseGetArrayWrite(split_mat, &write_mat_ptr);// // ^~~~~~~~~~~~~~~~~~~~~// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:870:4: note: suggested alternative: 'MatDenseGetArrayRead'// // MatDenseGetArrayWrite(split_mat, &write_mat_ptr);// // ^~~~~~~~~~~~~~~~~~~~~// // MatDenseGetArrayRead// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:874:4: error: 'MatDenseRestoreArrayWrite' was not declared in this scope// // MatDenseRestoreArrayWrite(split_mat, &write_mat_ptr);// // ^~~~~~~~~~~~~~~~~~~~~~~~~// //~/work_directory/full_physics/Test-Controller/library/source/core/tester_helper.cpp:874:4: note: suggested alternative: 'MatDenseRestoreArrayRead'// // MatDenseRestoreArrayWrite(split_mat, &write_mat_ptr);// // ^~~~~~~~~~~~~~~~~~~~~~~~~// // MatDenseRestoreArrayRead/
Where does that error come from, and how can I fix it/circumvent it? I compile the program using gcc 8.2.0 (including mpi-wrappers) on the production machine, and with gcc 9.3.1 on the dev machine.
Thanks,
regards,
Roland
-- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
participants (2)
-
Matthew Knepley -
Roland Richter