pchero / asterisk-tiresias

Audio fingerprinting and recognition module for the Asterisk
MIT License
10 stars 4 forks source link

Compilation error #9

Open simone6868 opened 3 years ago

simone6868 commented 3 years ago

Fresh Minimal Centos 7 install....Asterisk 13.38...I think i have installed correctly dependencies...

Download asterisk-tiresias but on make i got

make gcc -Wall -g -pthread -pipe -g3 -O6 -fPIC -DAST_MODULE=\"app_tiresias\" -DAST_MODULE_SELF_SYM=__app_tiresias -I/usr/include/ -I/usr/local/include/ -c fp_handler.c -o build/fp_handler.o In file included from /usr/include/aubio/aubio.h:62:0, from fp_handler.c:18: /usr/include/aubio/fft.h:31:19: fatal error: fftw3.h: File o directory non esistente

include <fftw3.h

pchero commented 3 years ago

Hi @simone6868,

Have you installed all of the dependencies?

https://asterisk-tiresias.readthedocs.io/en/latest/installation.html#required-libraries If so, please install this too.

libfftw3-dev

simone6868 commented 3 years ago

Have you installed all of the dependencies? ----> at this point not sure.....Sorry :-(

Can you post an idiot proof howto for the libs ?

Now after installing libfftw3-dev i go new errors....

gcc -Wall -g -pthread -pipe -g3 -O6 -fPIC -DAST_MODULE=\"app_tiresias\" -DAST_MODULE_SELF_SYM=app_tiresias -I/usr/include/ -I/usr/local/include/ -c fp_handler.c -o build/fp_handler.o fp_handler.c: In function ‘create_audio_fingerprints’: fp_handler.c:590:2: error: unknown type name ‘aubio_mfcc_t’ aubio_mfcc_t mfcc; ^ fp_handler.c:594:2: error: unknown type name ‘aubio_source_t’ aubio_source_t aubio_src; ^ fp_handler.c:604:2: warning: implicit declaration of function ‘new_aubio_source’ [-Wimplicit-function-declaration] aubio_src = new_aubio_source(source, DEF_AUBIO_SAMPLERATE, DEF_AUBIO_HOPSIZE); ^ fp_handler.c:604:12: warning: assignment makes pointer from integer without a cast [enabled by default] aubio_src = new_aubio_source(source, DEF_AUBIO_SAMPLERATE, DEF_AUBIO_HOPSIZE); ^ fp_handler.c:612:2: warning: implicit declaration of function ‘aubio_source_get_samplerate’ [-Wimplicit-function-declaration] samplerate = aubio_source_get_samplerate(aubio_src); ^ fp_handler.c:613:2: error: too few arguments to function ‘new_aubio_pvoc’ pv = new_aubio_pvoc(DEF_AUBIO_BUFSIZE, DEF_AUBIO_HOPSIZE); ^ In file included from /usr/include/aubio/aubio.h:63:0, from fp_handler.c:18: /usr/include/aubio/phasevoc.h:48:16: note: declared here aubio_pvoc_t new_aubio_pvoc (uint_t win_s, uint_t hop_s, uint_t channels); ^ fp_handler.c:614:2: error: too few arguments to function ‘new_cvec’ fftgrain = new_cvec(DEF_AUBIO_BUFSIZE); ^ In file included from /usr/include/aubio/aubio.h:61:0, from fp_handler.c:18: /usr/include/aubio/sample.h:138:10: note: declared here cvec_t new_cvec(uint_t length, uint_t channels); ^ fp_handler.c:615:2: warning: implicit declaration of function ‘new_aubio_mfcc’ [-Wimplicit-function-declaration] mfcc = new_aubio_mfcc(DEF_AUBIO_BUFSIZE, DEF_AUBIO_FILTER, DEF_AUBIO_COEFS, samplerate); ^ fp_handler.c:615:7: warning: assignment makes pointer from integer without a cast [enabled by default] mfcc = new_aubio_mfcc(DEF_AUBIO_BUFSIZE, DEF_AUBIO_FILTER, DEF_AUBIO_COEFS, samplerate); ^ fp_handler.c:616:2: error: too few arguments to function ‘new_fvec’ mfcc_buf = new_fvec(DEF_AUBIO_HOPSIZE); ^ In file included from /usr/include/aubio/aubio.h:61:0, from fp_handler.c:18: /usr/include/aubio/sample.h:60:10: note: declared here fvec_t new_fvec(uint_t length, uint_t channels); ^ fp_handler.c:617:2: error: too few arguments to function ‘new_fvec’ mfcc_out = new_fvec(DEF_AUBIO_COEFS); ^ In file included from /usr/include/aubio/aubio.h:61:0, from fp_handler.c:18: /usr/include/aubio/sample.h:60:10: note: declared here fvec_t new_fvec(uint_t length, uint_t channels); ^ fp_handler.c:623:3: warning: implicit declaration of function ‘del_aubio_mfcc’ [-Wimplicit-function-declaration] del_aubio_mfcc(mfcc); ^ fp_handler.c:626:3: warning: implicit declaration of function ‘del_aubio_source’ [-Wimplicit-function-declaration] del_aubio_source(aubio_src); ^ fp_handler.c:633:3: warning: implicit declaration of function ‘aubio_source_do’ [-Wimplicit-function-declaration] aubio_source_do(aubio_src, mfcc_buf, &reads); ^ fp_handler.c:642:3: warning: implicit declaration of function ‘aubio_mfcc_do’ [-Wimplicit-function-declaration] aubio_mfcc_do(mfcc, fftgrain, mfcc_out); ^ fp_handler.c:651:4: error: incompatible type for argument 1 of ‘fabs’ ast_json_object_set(j_tmp, col_max, ast_json_real_create(10 log10(fabs(mfcc_out->data[i])))); ^ In file included from /usr/include/features.h:375:0, from /usr/include/inttypes.h:25, from /usr/include/asterisk/compat.h:29, from /usr/include/asterisk.h:27, from fp_handler.c:10: /usr/include/bits/mathcalls.h:182:1: note: expected ‘double’ but argument is of type ‘smpl_t MATHCALLX (fabs,, (Mdouble x), (const__)); ^ make: *** [fp_handler.o] Errore 1

pchero commented 3 years ago

You need to install all of these libraries.

libaubio
libm
libcrypto

You can find more details here. https://asterisk-tiresias.readthedocs.io/en/latest/installation.html#required-libraries

simone6868 commented 3 years ago

Hi...have read and tried this below...I had difficulties to find correct libs.. Are them correct ?

libaubio -----> aubio-0.3.2-16.el7.nux.x86_64 installed libm --------> glibc-2.17-324.el7_9.x86_64 installed libcrypto ----> openssl098e-0.9.8e-29.el7.centos.3.x86_64 installed

simone6868 commented 3 years ago

Hi...my fault....i have compiled libaubio from binary and everything is ok..

Thanks