|
From: Mailing l. u. f. U. C. a. U. <kal...@li...> - 2013-08-20 08:07:39
|
hi, I'm trying to compile kaldi with intel compiler and option '-O3'. I got an Error when compiling the test code in dir 'trunk/src/matrix' as follows. This error does not happen when compile with 'gcc' or 'icpc -O2'. It seems 'icpc -O3' optimized out the interface of the instantiated template function void SpMatrix<Real>::Qr(MatrixBase<Real> *Q); Maybe SpMatrix::Qr()have to be explicitly instantiated in qr.cc in this case. Best, Shiyin /data/sykang/work/asr/kaldi-cpu/trunk/src/matrix $ make test icpc -rdynamic -L/data/sykang/work/asr/kaldi-cpu/trunk/tools/openfst/lib -Wl,-R/data/sykang/work/asr/kaldi-cpu/trunk/tools/openfst/lib matrix-lib-test.o kaldi-matrix.a ../base/kaldi-base.a /data/sykang/work/asr/kaldi-cpu/trunk/tools/openfst/lib/libfst.a -ldl -Wl,--start-group /opt/intel/composer_xe_2013.1.117/mkl/lib/intel64/libmkl_intel_lp64.a /opt/intel/composer_xe_2013.1.117/mkl/lib/intel64/libmkl_sequential.a /opt/intel/composer_xe_2013.1.117/mkl/lib/intel64/libmkl_core.a -Wl,--end-group -L/opt/intel/lib/intel64 -Wl,-Bstatic -liomp5 -Wl,-Bdynamic -lm -lpthread -o matrix-lib-test matrix-lib-test.o: In function `void kaldi::UnitTestTridiagonalizeAndQr<double>()': /data/sykang/work/asr/kaldi-cpu/trunk/src/matrix/matrix-lib-test.cc:1373: undefined reference to `kaldi::SpMatrix<double>::Qr(kaldi::MatrixBase<double>*)' matrix-lib-test.o: In function `void kaldi::UnitTestTridiagonalizeAndQr<float>()': /data/sykang/work/asr/kaldi-cpu/trunk/src/matrix/matrix-lib-test.cc:1373: undefined reference to `kaldi::SpMatrix<float>::Qr(kaldi::MatrixBase<float>*)' make: *** [matrix-lib-test] Error 1 |