Compiling issue of MueLu with Trilinos 12.14.1
Created by: YingzhouLi
I am compiling Trilinos 12.14.1 on Ubuntu 18.04 with g++ 7.3 and matlab R2018a.
cmake
-D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON
-D Trilinos_ENABLE_Amesos:BOOL=ON
-D Trilinos_ENABLE_Amesos2:BOOL=ON
-D Amesos2_ENABLE_KLU2:BOOL=ON
-D Trilinos_ENABLE_AztecOO:BOOL=ON
-D Trilinos_ENABLE_Epetra:BOOL=ON
-D Trilinos_ENABLE_EpetraExt:BOOL=ON
-D Trilinos_ENABLE_Fortran:BOOL=OFF
-D Trilinos_ENABLE_Ifpack:BOOL=ON
-D Trilinos_ENABLE_Ifpack2:BOOL=ON
-D Trilinos_ENABLE_MueLu:BOOL=ON
-D MueLu_ENABLE_TESTS:STRING=ON
-D MueLu_ENABLE_EXAMPLES:STRING=OFF
-D Trilinos_ENABLE_Teuchos:BOOL=ON
-D Trilinos_ENABLE_Tpetra:BOOL=ON
-D Trilinos_ENABLE_Intrepid2:BOOL=ON
-D Trilinos_ENABLE_COMPLEX_DOUBLE=ON
-D Teuchos_ENABLE_COMPLEX=ON
-D TPL_ENABLE_MPI:BOOL=OFF
-D TPL_ENABLE_MATLAB:BOOL=ON
-D MATLAB_ROOT:STRING="/usr/local/MATLAB/R2018a/"
-D MATLAB_ARCH:STRING="glnxa64"
-D BUILD_SHARED_LIBS:BOOL=ON
-D CMAKE_CXX_FLAGS="-fPIC -g -DMEX_DOUBLE_HANDLE"
-D Trilinos_EXTRA_LINK_FLAGS="-lrt -lm -lgfortran"
..
CMakeFiles/MueLu_UnitTests.dir/ParameterList/FactoryFactory.cpp.o: In function MueLu::MatlabSmoother<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >::Setup(MueLu::Level&)': /home/yingzhou/Documents/Trilinos-trilinos-release-12-14-1/packages/muelu/test/unit_tests/../../src/../matlab/src/MueLu_MatlabSmoother_def.hpp:97: undefined reference to
MueLu::MuemexData<Teuchos::RCP<Xpetra::Matrix<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > > >::MuemexData(Teuchos::RCP<Xpetra::Matrix<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > >&)'
CMakeFiles/MueLu_UnitTests.dir/ParameterList/FactoryFactory.cpp.o: In function MueLu::MatlabSmoother<std::complex<double>, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >::Setup(MueLu::Level&)': /home/yingzhou/Documents/Trilinos-trilinos-release-12-14-1/packages/muelu/test/unit_tests/../../src/../matlab/src/MueLu_MatlabSmoother_def.hpp:97: undefined reference to
MueLu::MuemexData<Teuchos::RCP<Xpetra::Matrix<std::complex, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > > >::MuemexData(Teuchos::RCP<Xpetra::Matrix<std::complex, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > >&)'
CMakeFiles/MueLu_UnitTests.dir/ParameterList/FactoryFactory.cpp.o: In function MueLu::MatlabSmoother<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >::Apply(Xpetra::MultiVector<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >&, Xpetra::MultiVector<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > const&, bool) const': /home/yingzhou/Documents/Trilinos-trilinos-release-12-14-1/packages/muelu/test/unit_tests/../../src/../matlab/src/MueLu_MatlabSmoother_def.hpp:116: undefined reference to
MueLu::MuemexData<Teuchos::RCP<Xpetra::Matrix<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > > >::MuemexData(Teuchos::RCP<Xpetra::Matrix<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > >&)'
/home/yingzhou/Documents/Trilinos-trilinos-release-12-14-1/packages/muelu/test/unit_tests/../../src/../matlab/src/MueLu_MatlabSmoother_def.hpp:121: undefined reference to MueLu::MuemexData<Teuchos::RCP<Xpetra::MultiVector<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > > >::MuemexData(Teuchos::RCP<Xpetra::MultiVector<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > >&)' /home/yingzhou/Documents/Trilinos-trilinos-release-12-14-1/packages/muelu/test/unit_tests/../../src/../matlab/src/MueLu_MatlabSmoother_def.hpp:122: undefined reference to
MueLu::MuemexData<Teuchos::RCP<Xpetra::MultiVector<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > > >::MuemexData(Teuchos::RCP<Xpetra::MultiVector<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > >&)'
/home/yingzhou/Documents/Trilinos-trilinos-release-12-14-1/packages/muelu/test/unit_tests/../../src/../matlab/src/MueLu_MatlabSmoother_def.hpp:130: undefined reference to MueLu::MuemexData<Teuchos::RCP<Xpetra::MultiVector<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > > >::getData()' CMakeFiles/MueLu_UnitTests.dir/ParameterList/FactoryFactory.cpp.o: In function
MueLu::MatlabSmoother<std::complex, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >::Apply(Xpetra::MultiVector<std::complex, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >&, Xpetra::MultiVector<std::complex, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > const&, bool) const':
/home/yingzhou/Documents/Trilinos-trilinos-release-12-14-1/packages/muelu/test/unit_tests/../../src/../matlab/src/MueLu_MatlabSmoother_def.hpp:116: undefined reference to MueLu::MuemexData<Teuchos::RCP<Xpetra::Matrix<std::complex<double>, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > > >::MuemexData(Teuchos::RCP<Xpetra::Matrix<std::complex<double>, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > >&)' /home/yingzhou/Documents/Trilinos-trilinos-release-12-14-1/packages/muelu/test/unit_tests/../../src/../matlab/src/MueLu_MatlabSmoother_def.hpp:121: undefined reference to
MueLu::MuemexData<Teuchos::RCP<Xpetra::MultiVector<std::complex, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > > >::MuemexData(Teuchos::RCP<Xpetra::MultiVector<std::complex, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > >&)'
/home/yingzhou/Documents/Trilinos-trilinos-release-12-14-1/packages/muelu/test/unit_tests/../../src/../matlab/src/MueLu_MatlabSmoother_def.hpp:122: undefined reference to MueLu::MuemexData<Teuchos::RCP<Xpetra::MultiVector<std::complex<double>, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > > >::MuemexData(Teuchos::RCP<Xpetra::MultiVector<std::complex<double>, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > >&)' /home/yingzhou/Documents/Trilinos-trilinos-release-12-14-1/packages/muelu/test/unit_tests/../../src/../matlab/src/MueLu_MatlabSmoother_def.hpp:130: undefined reference to
MueLu::MuemexData<Teuchos::RCP<Xpetra::MultiVector<std::complex, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > > >::getData()'
collect2: error: ld returned 1 exit status
packages/muelu/test/unit_tests/CMakeFiles/MueLu_UnitTests.dir/build.make:1421: recipe for target 'packages/muelu/test/unit_tests/MueLu_UnitTests.exe' failed
make[2]: *** [packages/muelu/test/unit_tests/MueLu_UnitTests.exe] Error 1
CMakeFiles/Makefile2:11396: recipe for target 'packages/muelu/test/unit_tests/CMakeFiles/MueLu_UnitTests.dir/all' failed
make[1]: *** [packages/muelu/test/unit_tests/CMakeFiles/MueLu_UnitTests.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2