marian
marian copied to clipboard
Unable to install Marian
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_CORE_LIBRARY)
-- 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/3rd_party/faiss/VectorTransform.cpp:433: undefined reference to dsyev_' /usr/bin/ld: ../libmarian.a(VectorTransform.cpp.o): in function
matrix_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/3rd_party/faiss/VectorTransform.cpp:103: undefined reference to
sgeqrf_'
/usr/bin/ld: /mnt/sda/marian/src/3rd_party/faiss/VectorTransform.cpp:106: undefined reference to sorgqr_' /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)' /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_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/3rd_party/faiss/VectorTransform.cpp:428: undefined reference to dsyev_' /usr/bin/ld: /mnt/sda/marian/src/3rd_party/faiss/VectorTransform.cpp:433: undefined reference to
dsyev_'
/usr/bin/ld: ../libmarian.a(VectorTransform.cpp.o): in function matrix_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/3rd_party/faiss/VectorTransform.cpp:103: undefined reference to sgeqrf_' /usr/bin/ld: /mnt/sda/marian/src/3rd_party/faiss/VectorTransform.cpp:106: undefined reference to
sorgqr_'
/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)'
/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_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 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)'
/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_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/3rd_party/faiss/VectorTransform.cpp:428: undefined reference to
dsyev_'
/usr/bin/ld: /mnt/sda/marian/src/3rd_party/faiss/VectorTransform.cpp:433: undefined reference to dsyev_' /usr/bin/ld: ../libmarian.a(VectorTransform.cpp.o): in function
matrix_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/3rd_party/faiss/VectorTransform.cpp:103: undefined reference to
sgeqrf_'
/usr/bin/ld: /mnt/sda/marian/src/3rd_party/faiss/VectorTransform.cpp:106: undefined reference to sorgqr_' /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)' /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 2
Any help is appreciated!
I'have quite same problems : https://github.com/marian-nmt/marian/issues/422