Intel oneAPI compilation ERROR: undefined reference to `vtable for CombinedAnyLocalMLIP'
When I try to install mlip-2
using cmake and Intel OneAPI 2023 compilers as follows:
git clone https://gitlab.com/ashapeev/mlip-2.git mlip-2_src
cmake mlip-2_src -DCMAKE_INSTALL_PREFIX=mlip-2 -B _build -DCMAKE_BUILD_TYPE=Release -DWITH_MPI=ON -DWITH_SYSTEM_BLAS=ON -DCMAKE_CXX_COMPILER=mpiicpc -DCMAKE_C_COMPILER=mpiicc -DCMAKE_Fortran_COMPILER=mpiifort -DCMAKE_CXX_FLAGS="-O3 -xHOST" -DCMAKE_C_FLAGS="-O3 -xHOST" -DCMAKE_Fortran_FLAGS="-O3 -xHOST"
cmake --build _build -j 8
I get the following error:
ld: CMakeFiles/mlp.dir/dev_src/mlp/dev_self_test.cpp.o: in function `RunAllTestsDev(bool)':
dev_self_test.cpp:(.text+0x1975): undefined reference to `CombinedAnyLocalMLIP::CalcE(Configuration&)'
ld: CMakeFiles/mlp.dir/dev_src/mlp/dev_self_test.cpp.o: in function `CombinedAnyLocalMLIP::~CombinedAnyLocalMLIP()':
dev_self_test.cpp:(.text._ZN20CombinedAnyLocalMLIPD1Ev[_ZN20CombinedAnyLocalMLIPD1Ev]+0x4): undefined reference to `vtable for CombinedAnyLocalMLIP'
ld: CMakeFiles/mlp.dir/dev_src/mlp/dev_self_test.cpp.o: in function `CombinedAnyLocalMLIP::CombinedAnyLocalMLIP(AnyLocalMLIP*, AnyLocalMLIP*, std::ostream*)':
dev_self_test.cpp:(.text._ZN20CombinedAnyLocalMLIPC1EP12AnyLocalMLIPS1_PSo[_ZN20CombinedAnyLocalMLIPC1EP12AnyLocalMLIPS1_PSo]+0x50): undefined reference to `vtable for CombinedAnyLocalMLIP'
gmake[2]: *** [CMakeFiles/mlp.dir/build.make:642: mlp] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:681: CMakeFiles/mlp.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
However, when I install using make
as follows:
git clone https://gitlab.com/ashapeev/mlip-2.git
cd mlip-2
./configure
make -j 4 mlp
make -j 4 libinterface
I get no error.
Edited by Mohamed Saleh