Closed trianglechoke closed 8 years ago
Eesen does not depend on Kaldi, it uses its own modified version of Kaldi's core libs and kernels. Are you using the latest repo? X.
在 2016/2/25 12:07, trianglechoke 写道:
I followed the install instructions and when running configure, satisfied all dependencies: _ben@ben:~/eesen/src$ ./configure --use-cuda=yes --cudatk-dir=/usr/local/cuda-7.5Configuring ... Checking OpenFST library in /home/ben/eesen/tools/openfst ... Checking OpenFst library was patched. Backing up config.mk to config.mk.bak Doing OS specific configurations ... On Linux: Checking for linear algebra header files ... Using ATLAS as the linear algebra library. ... no libatlas.so in /usr/lib ... no libatlas.so in /usr/lib/atlas ... no libatlas.so in /usr/lib/atlas-sse2 ... no libatlas.so in /usr/lib/atlas-sse3 ... no libatlas.so in /usr/lib64 ... no libatlas.so in /usr/lib64/atlas ... no libatlas.so in /usr/lib64/atlas-sse2 ... no libatlas.so in /usr/lib64/atlas-sse3 ... no libatlas.so in /usr/local/lib ... no libatlas.so in /usr/local/lib/atlas ... no libatlas.so in /usr/local/lib/atlas-sse2 ... no libatlas.so in /usr/local/lib/atlas-sse3 ... no libatlas.so in /usr/local/lib64 ... no libatlas.so in /usr/local/lib64/atlas ... no libatlas.so in /usr/local/lib64/atlas-sse2 ... no libatlas.so in /usr/local/lib64/atlas-sse3 ... no libatlas.so in /home/ben/eesen/src/../tools/ATLAS/build/install/lib/ ... no libatlas.so in /home/ben/eesen/tools/ATLAS/lib Could not find libatlas.so in any of the obvious places, will most likely try static: Could not find libatlas.a in any of the generic-Linux places, but we'll try other stuff...
Successfully configured for Debian 7 [dynamic libraries] with ATLASLIBS =/usr/lib/atlas-base/libatlas.so.3.0 /usr/lib/atlas-base/libf77blas.so.3.0 /usr/lib/atlas-base/libcblas.so.3 /usr/lib/atlas-base/liblapack_atlas.so.3 Using CUDA toolkit /usr/local/cuda-7.5 (nvcc compiler and runtime libraries) Successfully configured with Speex at /home/ben/eesen/src/../tools/extras/speex-1.2rc1, (static=[false])
But during 'make', it reports the following error: cuda-matrix.cc: In instantiation of ‘void eesen::CuMatrixBase::ApplyHeaviside() [with Real = float]’: cuda-matrix.cc:1227:16: required from here cuda-matrix.cc:1075:57: error: ‘cuda_apply_heaviside’ was not declared in this scope cuda_applyheaviside(dimGrid, dimBlock, data, Dim()); ^ cuda-matrix.cc: In instantiation of ‘void eesen::CuMatrixBase::ApplyHeaviside() [with Real = double]’: cuda-matrix.cc:1228:16: required from here cuda-matrix.cc:1075:57: error: ‘cuda_apply_heaviside’ was not declared in this scope make[1]: * [cuda-matrix.o] Error 1 make[1]: Leaving directory `/home/ben/eesen/src/gpucompute' make: * [gpucompute] Error 2
I did some research and it seems that cuda_apply_heaviside is from kaldi. But the previous dependency check didn't mention installing kaldi. So what could have gone wrong?
— Reply to this email directly or view it on GitHub https://github.com/srvk/eesen/issues/38.
Yes, I just cloned it yesterday. Here is the complete output of 'make':
ben@ben:~/eesen/src$ make The version of configure script matches config.mk version. Good. test -d || mkdir make -C base make[1]: Entering directory
/home/ben/eesen/src/base' make[1]: Nothing to be done for
all'. make[1]: Leaving directory/home/ben/eesen/src/base' make -C cpucompute make[1]: Entering directory
/home/ben/eesen/src/cpucompute' make[1]: Nothing to be done forall'. make[1]: Leaving directory
/home/ben/eesen/src/cpucompute' make -C util make[1]: Entering directory/home/ben/eesen/src/util' make[1]: Nothing to be done for
all'. make[1]: Leaving directory/home/ben/eesen/src/util' make -C feat make[1]: Entering directory
/home/ben/eesen/src/feat' make[1]: Nothing to be done forall'. make[1]: Leaving directory
/home/ben/eesen/src/feat' make -C fstext make[1]: Entering directory/home/ben/eesen/src/fstext' make[1]: Nothing to be done for
all'. make[1]: Leaving directory/home/ben/eesen/src/fstext' make -C lm make[1]: Entering directory
/home/ben/eesen/src/lm' make[1]: Nothing to be done forall'. make[1]: Leaving directory
/home/ben/eesen/src/lm' make -C lat make[1]: Entering directory/home/ben/eesen/src/lat' make[1]: Nothing to be done for
all'. make[1]: Leaving directory/home/ben/eesen/src/lat' make -C decoder make[1]: Entering directory
/home/ben/eesen/src/decoder' make[1]: Nothing to be done forall'. make[1]: Leaving directory
/home/ben/eesen/src/decoder' make -C gpucompute make[1]: Entering directory/home/ben/eesen/src/gpucompute' g++ -msse -msse2 -Wall -I.. -pthread -DKALDI_DOUBLEPRECISION=0 -DHAVE_POSIX_MEMALIGN -Wno-sign-compare -Wno-unused-local-typedefs -Winit-self -DHAVE_EXECINFO_H=1 -rdynamic -DHAVE_CXXABI_H -DHAVE_ATLAS -I/home/ben/eesen/tools/ATLAS/include -I/home/ben/eesen/tools/openfst/include -DHAVE_OPENFST_GE_10400 -std=c++0x -g -DHAVE_CUDA -I/usr/local/cuda-7.5/include -DHAVE_SPEEX -I/home/ben/eesen/src/../tools/extras/speex-1.2rc1/include -c -o cuda-matrix.o cuda-matrix.cc cuda-matrix.cc: In instantiation of ‘void eesen::CuMatrixBase<Real>::ApplyHeaviside() [with Real = float]’: cuda-matrix.cc:1227:16: required from here cuda-matrix.cc:1075:57: error: ‘cuda_apply_heaviside’ was not declared in this scope cuda_apply_heaviside(dimGrid, dimBlock, data_, Dim()); ^ cuda-matrix.cc: In instantiation of ‘void eesen::CuMatrixBase<Real>::ApplyHeaviside() [with Real = double]’: cuda-matrix.cc:1228:16: required from here cuda-matrix.cc:1075:57: error: ‘cuda_apply_heaviside’ was not declared in this scope make[1]: *** [cuda-matrix.o] Error 1 make[1]: Leaving directory
/home/ben/eesen/src/gpucompute' make: *\ [gpucompute] Error 2
Please update to the latest. The problem will be solved.
I followed the install instructions and when running configure, satisfied all dependencies: _ben@ben:~/eesen/src$ ./configure --use-cuda=yes --cudatk-dir=/usr/local/cuda-7.5Configuring ... Checking OpenFST library in /home/ben/eesen/tools/openfst ... Checking OpenFst library was patched. Backing up config.mk to config.mk.bak Doing OS specific configurations ... On Linux: Checking for linear algebra header files ... Using ATLAS as the linear algebra library. ... no libatlas.so in /usr/lib ... no libatlas.so in /usr/lib/atlas ... no libatlas.so in /usr/lib/atlas-sse2 ... no libatlas.so in /usr/lib/atlas-sse3 ... no libatlas.so in /usr/lib64 ... no libatlas.so in /usr/lib64/atlas ... no libatlas.so in /usr/lib64/atlas-sse2 ... no libatlas.so in /usr/lib64/atlas-sse3 ... no libatlas.so in /usr/local/lib ... no libatlas.so in /usr/local/lib/atlas ... no libatlas.so in /usr/local/lib/atlas-sse2 ... no libatlas.so in /usr/local/lib/atlas-sse3 ... no libatlas.so in /usr/local/lib64 ... no libatlas.so in /usr/local/lib64/atlas ... no libatlas.so in /usr/local/lib64/atlas-sse2 ... no libatlas.so in /usr/local/lib64/atlas-sse3 ... no libatlas.so in /home/ben/eesen/src/../tools/ATLAS/build/install/lib/ ... no libatlas.so in /home/ben/eesen/tools/ATLAS/lib Could not find libatlas.so in any of the obvious places, will most likely try static: Could not find libatlas.a in any of the generic-Linux places, but we'll try other stuff...
Successfully configured for Debian 7 [dynamic libraries] with ATLASLIBS =/usr/lib/atlas-base/libatlas.so.3.0 /usr/lib/atlas-base/libf77blas.so.3.0 /usr/lib/atlas-base/libcblas.so.3 /usr/lib/atlas-base/liblapack_atlas.so.3 Using CUDA toolkit /usr/local/cuda-7.5 (nvcc compiler and runtime libraries) Successfully configured with Speex at /home/ben/eesen/src/../tools/extras/speex-1.2rc1, (static=[false])
But during 'make', it reports the following error: cuda-matrix.cc: In instantiation of ‘void eesen::CuMatrixBase::ApplyHeaviside() [with Real = float]’:
cuda-matrix.cc:1227:16: required from here
cuda-matrix.cc:1075:57: error: ‘cuda_apply_heaviside’ was not declared in this scope
cuda_applyheaviside(dimGrid, dimBlock, data, Dim());
^
cuda-matrix.cc: In instantiation of ‘void eesen::CuMatrixBase::ApplyHeaviside() [with Real = double]’:
cuda-matrix.cc:1228:16: required from here
cuda-matrix.cc:1075:57: error: ‘cuda_apply_heaviside’ was not declared in this scope
make[1]: * [cuda-matrix.o] Error 1
make[1]: Leaving directory `/home/ben/eesen/src/gpucompute'
make: * [gpucompute] Error 2
I did some research and it seems that cuda_apply_heaviside is from kaldi. But the previous dependency check didn't mention installing kaldi. So what could have gone wrong?