Hello guys, I've been working on to compile things on Kaldi with a wavelet library (static) and I'm having some troubles because I'm quite new to this Linux environment. I would appreciate if you could tell me what I might be missing out on and some resources I could study more with or the direct cause of this problem.
What I want to compile is "compute-mfcc-feats.cc" located in "/kaldi-trunk/src/featbin".
The wavelet library is installed in "/kaldi-trunk/src/wavelib" with "libwavelet2s.a", "wavelet2s.h", "wavelet2s.o", and "wavelet2s.cpp" files located at "/kaldi-trunk/src/wavelib/src/static".
Inside "compute-mfcc-feats.cc", there is a function call "mfcc.Compute(waveform, vtln_warp_local, &feature, NULL)". This function is defined in "feature-mfcc.cc".
I made changes in "feature-mfcc.cc". The compilation of "feature-mfcc.cc" was successful with the following command.
"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/mario/src/kaldi/kaldi-trunk/tools/ATLAS/include -I/home/mario/src/kaldi/kaldi-trunk/src/wavelib/src/static -I/home/mario/src/kaldi/kaldi-trunk/tools/openfst/include -g -DKALDI_NO_EXPF -c -o feature-mfcc.o feature-mfcc.cc"
After the compilation above, the problem shows up with the compilation of "compute-mfcc-feats.cc". The command used is following.
"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/mario/src/kaldi/kaldi-trunk/tools/ATLAS/include -I/home/mario/src/kaldi/kaldi-trunk/src/wavelib/src/static -I/home/mario/src/kaldi/kaldi-trunk/tools/openfst/include -Wno-sign-compare -g -DKALDI_NO_EXPF -rdynamic -Wl,-rpath=/home/mario/src/kaldi/kaldi-trunk/tools/openfst/lib compute-mfcc-feats.cc ../wavelib/src/static/libwavelet2s.a ../feat/kaldi-feat.a ../transform/kaldi-transform.a ../gmm/kaldi-gmm.a ../thread/kaldi-thread.a ../tree/kaldi-tree.a ../matrix/kaldi-matrix.a ../util/kaldi-util.a ../base/kaldi-base.a -L/home/mario/src/kaldi/kaldi-trunk/tools/openfst/lib -lfst /usr/lib/libatlas.so.3 /usr/lib/libf77blas.so.3 /usr/lib/libcblas.so.3 /usr/lib/liblapack_atlas.so.3 -lm -lpthread -ldl -L/home/mario/src/kaldi/kaldi-trunk/src/wavelib/src/static -I/home/mario/src/kaldi/kaldi-turnk/src/wavelib/src/static -lwavelet2s -lfftw3 -o compute-mfcc-feats"
The error message tagged along is "../wavelib/src/static/libwavelet2s.a: error adding symbols: Archive has no index; run ranlib to add one".
Is this because I'm trying to compile libraries both dynamically and statically? I don't know I'm kind of stuck... If you have any additional info or questions, please let me know. I would really appreciate your help.