RicherMans / PLDA

An LDA/PLDA estimator using KALDI in python for speaker verification tasks
99 stars 24 forks source link

Some error in installing #7

Closed qinxiaoyi closed 4 years ago

qinxiaoyi commented 4 years ago

when i run the following command,

cmake ../ && make in "./build" dir.

it shows the following error:

-- Kaldi root: /home/kaldi/ Kaldi root is not an svn checkout. Kaldi revision unknown. -- Kaldi libraries: /home/kaldi/src/decoder/kaldi-decoder.a;/home/kaldi/src/feat/kaldi-feat.a;/home/kaldi/src/gmm/kaldi-gmm.a;/home/kaldi/src/hmm/kaldi-hmm.a;/home/kaldi/src/lat/kaldi-lat.a;/home/kaldi/src/matrix/kaldi-matrix.a;/home/kaldi/src/transform/kaldi-transform.a;/home/kaldi/src/tree/kaldi-tree.a;/home/kaldi/src/util/kaldi-util.a;/home/kaldi/src/base/kaldi-base.a;/home/kaldi/src/ivector/kaldi-ivector.a -- OpenFst include: /home/kaldi/tools/openfst/include -- OpenFst library: /home/kaldi/tools/openfst/lib/libfst.a User mode is off, if installation is unsucessful please pass -DUSER=ON -- Configuring done -- Generating done -- Build files have been written to: /home/qinxy/PLDA/build [ 33%] Built target chtk [ 50%] Built target utils [ 66%] Building CXX object CMakeFiles/plda.dir/src/pldamodule.cpp.o In file included from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1822:0, from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/ndarrayobject.h:12, from /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/arrayobject.h:4, from /home/qinxy/PLDA/src/pldamodule.cpp:10: /usr/local/lib/python3.5/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]

warning "Using deprecated NumPy API, disable it with " \

^ In file included from /home/qinxy/PLDA/src/pldamodule.cpp:15:0: /home/qinxy/PLDA/chtk/chtk.h: In constructor ‘chtk::htkarray::htkarray(size_t, size_t, size_t, size_t, size_t)’: /home/qinxy/PLDA/chtk/chtk.h:49:10: warning: ‘chtk::htkarray::parmkind’ will be initialized after [-Wreorder] size_t parmkind; ^ /home/qinxy/PLDA/chtk/chtk.h:45:10: warning: ‘size_t chtk::htkarray::frm_ext’ [-Wreorder] size_t frm_ext; ^ /home/qinxy/PLDA/chtk/chtk.h:21:3: warning: when initialized here [-Wreorder] htkarray(size_t _nsamples, size_t _sample_period, size_t _samplesize, size_t _parmkind, size_t _frm_ext): ^ /home/qinxy/PLDA/chtk/chtk.h: In constructor ‘chtk::htkarray::htkarray()’: /home/qinxy/PLDA/chtk/chtk.h:49:10: warning: ‘chtk::htkarray::parmkind’ will be initialized after [-Wreorder] size_t parmkind; ^ /home/qinxy/PLDA/chtk/chtk.h:45:10: warning: ‘size_t chtk::htkarray::frm_ext’ [-Wreorder] size_t frm_ext; ^ /home/qinxy/PLDA/chtk/chtk.h:28:3: warning: when initialized here [-Wreorder] htkarray():nsamples(0), sample_period(0), samplesize(0), parmkind(0), frm_ext(0) {} ^ In file included from /home/qinxy/PLDA/src/pldamodule.cpp:17:0: /home/qinxy/PLDA/src/kaldi-utils.hpp: In function ‘kaldi::Matrix kaldi::readFeatureFromPyString(PyObject)’: /home/qinxy/PLDA/src/kaldi-utils.hpp:44:41: error: ‘PyString_Check’ was not declared in this scope PyString_Check(pyfeaturefilename); ^ /home/qinxy/PLDA/src/kaldi-utils.hpp:45:74: error: ‘PyString_AsString’ was not declared in this scope const char featurefilename = PyString_AsString(pyfeaturefilename); ^ /home/qinxy/PLDA/src/pldamodule.cpp: In function ‘PyObject kaldi::Mplda_transform(kaldi::MPlda, PyObject, PyObject)’: /home/qinxy/PLDA/src/pldamodule.cpp:173:57: error: ‘PyInt_FromSize_t’ was not declared in this scope PyObject spkid = PyInt_FromSize_t(it->first); ^ /home/qinxy/PLDA/src/pldamodule.cpp: In function ‘PyObject kaldi::MPlda_norm(kaldi::MPlda, PyObject, PyObject)’: /home/qinxy/PLDA/src/pldamodule.cpp:229:37: error: ‘PyInt_Check’ was not declared in this scope if(! PyInt_Check(key)) return NULL; ^ /home/qinxy/PLDA/src/pldamodule.cpp:232:42: error: ‘PyInt_AsLong’ was not declared in this scope long k = PyInt_AsLong(key); ^ /home/qinxy/PLDA/src/pldamodule.cpp: In function ‘PyObject kaldi::MPlda_score(kaldi::MPlda, PyObject, PyObject)’: /home/qinxy/PLDA/src/pldamodule.cpp:263:73: error: ‘PyInt_AsLong’ was not declared in this scope long samplesize = PyInt_AsLong(PyTuple_GetItem(py_enrolemodel,0)); ^ /home/qinxy/PLDA/src/pldamodule.cpp: In function ‘void kaldi::MPLDA_dealloc(kaldi::MPlda)’: /home/qinxy/PLDA/src/pldamodule.cpp:314:15: error: ‘struct kaldi::MPlda’ has no member named ‘ob_type’ self->ob_type->tp_free((PyObject)self); ^ /home/qinxy/PLDA/src/pldamodule.cpp: At global scope: /home/qinxy/PLDA/src/pldamodule.cpp:359:5: error: invalid conversion from ‘const char’ to ‘Py_ssize_t {aka long int}’ [-fpermissive] }; ^ /home/qinxy/PLDA/src/pldamodule.cpp:359:5: error: invalid conversion from ‘destructor {aka void ()(_object)}’ to ‘printfunc {aka int ()(_object, _IO_FILE, int)}’ [-fpermissive] /home/qinxy/PLDA/src/pldamodule.cpp:359:5: error: invalid conversion from ‘long unsigned int’ to ‘const char’ [-fpermissive] /home/qinxy/PLDA/src/pldamodule.cpp:359:5: error: cannot convert ‘const char’ to ‘traverseproc {aka int ()(_object, int ()(_object, void), void)}’ in initialization /home/qinxy/PLDA/src/pldamodule.cpp:359:5: error: cannot convert ‘PyMethodDef’ to ‘PyMemberDef’ in initialization /home/qinxy/PLDA/src/pldamodule.cpp:359:5: error: invalid conversion from ‘PyObject ()(PyTypeObject, PyObject, PyObject) {aka _object ()(_typeobject, _object, _object)}’ to ‘freefunc {aka void ()(void)}’ [-fpermissive] /home/qinxy/PLDA/src/pldamodule.cpp: In function ‘PyObject kaldi::initlibplda()’: /home/qinxy/PLDA/src/pldamodule.cpp:374:17: error: return-statement with no value, in function returning ‘PyObject {aka _object}’ [-fpermissive] return; ^ /home/qinxy/PLDA/src/pldamodule.cpp:376:76: error: ‘Py_InitModule3’ was not declared in this scope "Example module that creates an extension type."); ^ /home/qinxy/PLDA/src/pldamodule.cpp:378:17: error: return-statement with no value, in function returning ‘PyObject {aka _object}’ [-fpermissive] return; ^ /home/qinxy/PLDA/src/pldamodule.cpp: In function ‘PyObject kaldi::MPlda_norm(kaldi::MPlda, PyObject, PyObject)’: /home/qinxy/PLDA/src/pldamodule.cpp:256:5: warning: control reaches end of non-void function [-Wreturn-type] } ^ /home/qinxy/PLDA/src/pldamodule.cpp: In function ‘PyObject* kaldi::initlibplda()’: /home/qinxy/PLDA/src/pldamodule.cpp:384:9: warning: control reaches end of non-void function [-Wreturn-type] } ^ CMakeFiles/plda.dir/build.make:62: recipe for target 'CMakeFiles/plda.dir/src/pldamodule.cpp.o' failed make[2]: [CMakeFiles/plda.dir/src/pldamodule.cpp.o] Error 1 CMakeFiles/Makefile2:142: recipe for target 'CMakeFiles/plda.dir/all' failed make[1]: [CMakeFiles/plda.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2

could you help me solve the problem?thank you

RicherMans commented 4 years ago

Hey there, if you noticed or not, the project is a "as is" repository. I haven't updated nor concerned myself with the project recently. However, if you wish to contribute either fork or give me a pull request. I think the log requests -DUSER=ON. Also I originally never build the API with python3.5, don't know if it would even work.

qinxiaoyi commented 4 years ago

Thank you for your prompt reply. Recently I used python to reproduce the PLDA algorithm, hope to have further communication with you. Thank you again.

RicherMans commented 4 years ago

The best way to possibly reproduce is to use a rather "old" system with python2, e.g., using a docker image of an older Linux distro.