I am a newbie that try to install Marian. My machine is an AMD 5900X and running Ubuntu 20.04. I have tried different CUDA (10-12) and gcc (9-12) combinations. But it always stopped at the same place:
/usr/bin/ld: ../libmarian.a(VectorTransform.cpp.o): in function (anonymous namespace)::eig(unsigned long, double*, double*, int)': /mnt/sda/marian/src/3rd_party/faiss/VectorTransform.cpp:428: undefined reference todsyev_'
Here is my environment:
-- The CXX compiler identification is GNU 11.1.0
-- The C compiler identification is GNU 11.1.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Project name: marian
-- Project version: v1.12.0+65bf82ff
CMake Warning at CMakeLists.txt:79 (message):
CMAKE_BUILD_TYPE not set; setting to Release
-- Building with -march=native and intrinsics will be chosen automatically by the compiler to match the current machine.
-- Checking support for CPU intrinsics
-- Could not find hardware support for AVX512 on this machine.
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDA: /etc/alternatives/cuda (found suitable version "11.7", minimum required is "9.0")
-- Compiling code for Pascal GPUs
-- Compiling code for Volta GPUs
-- Compiling code for Turing GPUs
-- Compiling code for Ampere GPUs
-- Compiling code for Ampere RTX GPUs
-- Found CUDA libraries: /etc/alternatives/cuda/lib64/libcurand.so;/etc/alternatives/cuda/lib64/libcusparse.so;/etc/alternatives/cuda/lib64/libcublas.so;/etc/alternatives/cuda/lib64/libcublasLt.so
-- Found TCMalloc: /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so
-- Could NOT find MKL (missing: MKL_LIBRARIES MKL_INCLUDE_DIRS MKL_INTERFACE_LIBRARY MKL_SEQUENTIAL_LAYER_LIBRARY MKL_CORELIBRARY)
-- Looking for sgemm
-- Looking for sgemm - not found
-- Looking for dgemm
-- Looking for dgemm_ - found
-- Found BLAS: /usr/lib/x86_64-linux-gnu/libf77blas.so;/usr/lib/x86_64-linux-gnu/libatlas.so
-- Checking for [openblas]
-- Checking for [openblas] -- includes found
-- Checking for [cblas]
-- Checking for [cblas] -- includes found
-- Looking for cblas_sgemm
-- Looking for cblas_sgemm - found
-- Checking for [cblas] -- libraries found
-- CBLAS library found: /usr/lib/x86_64-linux-gnu/libcblas.so
-- cblas.h include directory: /usr/include/x86_64-linux-gnu
-- VERSION: 0.1.94
-- Found TCMalloc: /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.17") found components: doxygen dot
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/sda/marian/build
I am a newbie that try to install Marian. My machine is an AMD 5900X and running Ubuntu 20.04. I have tried different CUDA (10-12) and gcc (9-12) combinations. But it always stopped at the same place:
/usr/bin/ld: ../libmarian.a(VectorTransform.cpp.o): in function
(anonymous namespace)::eig(unsigned long, double*, double*, int)': /mnt/sda/marian/src/3rd_party/faiss/VectorTransform.cpp:428: undefined reference to
dsyev_'Here is my environment: -- The CXX compiler identification is GNU 11.1.0 -- The C compiler identification is GNU 11.1.0 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Project name: marian -- Project version: v1.12.0+65bf82ff CMake Warning at CMakeLists.txt:79 (message): CMAKE_BUILD_TYPE not set; setting to Release
-- Building with -march=native and intrinsics will be chosen automatically by the compiler to match the current machine. -- Checking support for CPU intrinsics -- Could not find hardware support for AVX512 on this machine. -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Found CUDA: /etc/alternatives/cuda (found suitable version "11.7", minimum required is "9.0") -- Compiling code for Pascal GPUs -- Compiling code for Volta GPUs -- Compiling code for Turing GPUs -- Compiling code for Ampere GPUs -- Compiling code for Ampere RTX GPUs -- Found CUDA libraries: /etc/alternatives/cuda/lib64/libcurand.so;/etc/alternatives/cuda/lib64/libcusparse.so;/etc/alternatives/cuda/lib64/libcublas.so;/etc/alternatives/cuda/lib64/libcublasLt.so -- Found TCMalloc: /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so -- Could NOT find MKL (missing: MKL_LIBRARIES MKL_INCLUDE_DIRS MKL_INTERFACE_LIBRARY MKL_SEQUENTIAL_LAYER_LIBRARY MKL_CORELIBRARY) -- Looking for sgemm -- Looking for sgemm - not found -- Looking for dgemm -- Looking for dgemm_ - found -- Found BLAS: /usr/lib/x86_64-linux-gnu/libf77blas.so;/usr/lib/x86_64-linux-gnu/libatlas.so
-- Checking for [openblas] -- Checking for [openblas] -- includes found -- Checking for [cblas] -- Checking for [cblas] -- includes found -- Looking for cblas_sgemm -- Looking for cblas_sgemm - found -- Checking for [cblas] -- libraries found -- CBLAS library found: /usr/lib/x86_64-linux-gnu/libcblas.so -- cblas.h include directory: /usr/include/x86_64-linux-gnu -- VERSION: 0.1.94 -- Found TCMalloc: /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so -- Found Doxygen: /usr/bin/doxygen (found version "1.8.17") found components: doxygen dot -- Configuring done -- Generating done -- Build files have been written to: /mnt/sda/marian/build
The error messages are:
[ 97%] Linking CXX executable ../marian-vocab [ 97%] Built target marian_vocab [ 97%] Linking CXX executable ../marian-decoder [ 97%] Linking CXX executable ../marian-conv [ 98%] Linking CXX executable ../marian-scorer /usr/bin/ld: ../libmarian.a(VectorTransform.cpp.o): in function
(anonymous namespace)::eig(unsigned long, double*, double*, int)': /mnt/sda/marian/src/3rd_party/faiss/VectorTransform.cpp:428: undefined reference to
dsyev_' /usr/bin/ld: /mnt/sda/marian/src/3rdparty/faiss/VectorTransform.cpp:433: undefined reference to `dsyev' /usr/bin/ld: ../libmarian.a(VectorTransform.cpp.o): in functionmatrix_qr(int, int, float*)': /mnt/sda/marian/src/3rd_party/faiss/VectorTransform.cpp:98: undefined reference to
sgeqrf_' /usr/bin/ld: /mnt/sda/marian/src/3rdparty/faiss/VectorTransform.cpp:103: undefined reference to `sgeqrf' /usr/bin/ld: /mnt/sda/marian/src/3rdparty/faiss/VectorTransform.cpp:106: undefined reference to `sorgqr' /usr/bin/ld: ../libmarian.a(prod.cpp.o): in functionsgemm(bool, bool, int, int, int, float, float*, int, float*, int, float, float*, int)': /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference to
cblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, int, int, float , float const, int, float const, int, float, float, int)' /usr/bin/ld: /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference to `cblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, in t, int, float, float const, int, float const, int, float, float, int)' /usr/bin/ld: /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference tocblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, in t, int, float, float const*, int, float const*, int, float, float*, int)' collect2: error: ld returned 1 exit status make[2]: *** [src/CMakeFiles/marian_conv.dir/build.make:100: marian-conv] Error 1 make[1]: *** [CMakeFiles/Makefile2:453: src/CMakeFiles/marian_conv.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... /usr/bin/ld: ../libmarian.a(VectorTransform.cpp.o): in function
(anonymous namespace)::eig(unsigned long, double, double, int)': /mnt/sda/marian/src/3rdparty/faiss/VectorTransform.cpp:428: undefined reference to `dsyev' /usr/bin/ld: /mnt/sda/marian/src/3rdparty/faiss/VectorTransform.cpp:433: undefined reference to `dsyev' /usr/bin/ld: ../libmarian.a(VectorTransform.cpp.o): in functionmatrix_qr(int, int, float*)': /mnt/sda/marian/src/3rd_party/faiss/VectorTransform.cpp:98: undefined reference to
sgeqrf_' /usr/bin/ld: /mnt/sda/marian/src/3rdparty/faiss/VectorTransform.cpp:103: undefined reference to `sgeqrf' /usr/bin/ld: /mnt/sda/marian/src/3rdparty/faiss/VectorTransform.cpp:106: undefined reference to `sorgqr' /usr/bin/ld: ../libmarian.a(prod.cpp.o): in functionsgemm(bool, bool, int, int, int, float, float*, int, float*, int, float, float*, int)': /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference to
cblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, int, int, float , float const, int, float const, int, float, float, int)' /usr/bin/ld: /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference to `cblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, in t, int, float, float const, int, float const, int, float, float, int)' /usr/bin/ld: /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference tocblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, in t, int, float, float const*, int, float const*, int, float, float*, int)' collect2: error: ld returned 1 exit status make[2]: *** [src/CMakeFiles/marian_decoder.dir/build.make:100: marian-decoder] Error 1 make[1]: *** [CMakeFiles/Makefile2:513: src/CMakeFiles/marian_decoder.dir/all] Error 2 /usr/bin/ld: ../libmarian.a(prod.cpp.o): in function
sgemm(bool, bool, int, int, int, float, float, int, float, int, float, float, int)': /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference to `cblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, int, int, float , float const, int, float const, int, float, float, int)' collect2: error: ld returned 1 exit status make[2]: [src/CMakeFiles/marian_decoder.dir/build.make:100: marian-decoder] Error 1 make[1]: [CMakeFiles/Makefile2:513: src/CMakeFiles/marian_decoder.dir/all] Error 2 /usr/bin/ld: ../libmarian.a(prod.cpp.o): in functionsgemm(bool, bool, int, int, int, float, float*, int, float*, int, float, float*, int)': /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference to
cblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, int, int, float , float const, int, float const, int, float, float, int)' /usr/bin/ld: /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference to `cblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, in t, int, float, float const, int, float const, int, float, float, int)' /usr/bin/ld: /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference tocblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, in t, int, float, float const*, int, float const*, int, float, float*, int)' collect2: error: ld returned 1 exit status make[2]: *** [src/CMakeFiles/marian_scorer.dir/build.make:100: marian-scorer] Error 1 make[1]: *** [CMakeFiles/Makefile2:545: src/CMakeFiles/marian_scorer.dir/all] Error 2 [100%] Linking CXX executable ../marian /usr/bin/ld: ../libmarian.a(VectorTransform.cpp.o): in function
(anonymous namespace)::eig(unsigned long, double, double, int)': /mnt/sda/marian/src/3rdparty/faiss/VectorTransform.cpp:428: undefined reference to `dsyev' /usr/bin/ld: /mnt/sda/marian/src/3rdparty/faiss/VectorTransform.cpp:433: undefined reference to `dsyev' /usr/bin/ld: ../libmarian.a(VectorTransform.cpp.o): in functionmatrix_qr(int, int, float*)': /mnt/sda/marian/src/3rd_party/faiss/VectorTransform.cpp:98: undefined reference to
sgeqrf_' /usr/bin/ld: /mnt/sda/marian/src/3rdparty/faiss/VectorTransform.cpp:103: undefined reference to `sgeqrf' /usr/bin/ld: /mnt/sda/marian/src/3rdparty/faiss/VectorTransform.cpp:106: undefined reference to `sorgqr' /usr/bin/ld: ../libmarian.a(prod.cpp.o): in functionsgemm(bool, bool, int, int, int, float, float*, int, float*, int, float, float*, int)': /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference to
cblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, int, int, float , float const, int, float const, int, float, float, int)' /usr/bin/ld: /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference to `cblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, in t, int, float, float const, int, float const, int, float, float, int)' /usr/bin/ld: /mnt/sda/marian/src/tensors/cpu/prod_blas.h:23: undefined reference to `cblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, in t, int, float, float const, int, float const, int, float, float*, int)' collect2: error: ld returned 1 exit status make[2]: [src/CMakeFiles/marian_train.dir/build.make:100: marian] Error 1 make[1]: [CMakeFiles/Makefile2:671: src/CMakeFiles/marian_train.dir/all] Error 2 make: *** [Makefile:152: all] Error 2Any help is appreciated!