c++ - Building audio analysis library Essentia failed with Gaia support -
i trying build essentia
(https://github.com/mtg/essentia), audio analysis library, gaia
(https://github.com/mtg/gaia) support in debian 9.0
source. before that, 1 of dependencies, namely gaia
, built, also, source. installed in /usr/local/
.
when comes essentia
, compilation of sources fails following errors:
[...] in file included ../src/algorithms/essentia_algorithms_reg.cpp:21:0: ../src/algorithms/highlevel/gaiatransform.h: @ global scope: ../src/algorithms/highlevel/gaiatransform.h:37:10: error: ‘transfochain’ in namespace ‘gaia2’ not name type gaia2::transfochain _history; ^~~~~~~~~~~~ ../src/algorithms/highlevel/gaiatransform.h: in constructor ‘essentia::standard::gaiatransform::gaiatransform()’: ../src/algorithms/highlevel/gaiatransform.h:47:5: error: ‘init’ not member of ‘gaia2’ gaia2::init(); ^~~~~ ../src/algorithms/highlevel/gaiatransform.h:47:5: note: suggested alternative: in file included ../src/essentia/algorithmfactory.h:27:0, ../src/algorithms/essentia_algorithms_reg.cpp:1: ../src/essentia/essentia.h:46:6: note: ‘essentia::init’ void init(); ^~~~
the file error lies /src/algorithms/essentia_algorithms_reg.cpp
, here command file compiled with:
/usr/bin/g++ -pipe -wall -std=c++03 -msse -msse2 -mfpmath=sse -o2 -fpic -pthread -isrc -i../src -isrc/essentia -i../src/essentia -isrc/essentia/scheduler -i../src/essentia/scheduler -isrc/essentia/streaming -i../src/essentia/streaming -isrc/essentia/streaming/algorithms -i../src/essentia/streaming/algorithms -isrc/essentia/utils -i../src/essentia/utils -isrc/3rdparty -i../src/3rdparty -isrc/3rdparty/spline -i../src/3rdparty/spline -isrc/3rdparty/vamp-plugin-sdk-2.4 -i../src/3rdparty/vamp-plugin-sdk-2.4 -i/usr/include/x86_64-linux-gnu -i/usr/include/taglib -i/usr/local/include -i/usr/include/qt4 -i/usr/include/qt4/qtcore -i/usr/local/include/gaia2/ -dhave_avcodec=1 -dhave_avformat=1 -dhave_avutil=1 -dhave_avresample=1 -dhave_samplerate=1 -dhave_taglib=1 -dhave_yaml=1 -dhave_fftw=1 -dhave_gaia2=1 -d__stdc_constant_macros -dpythondir="/usr/local/lib/python2.7/dist-packages" -dpythonarchdir="/usr/local/lib/python2.7/dist-packages" -dhave_pyembed=1 -dhave_pyext=1 -dhave_python_h=1 ../src/algorithms/essentia_algorithms_reg.cpp -c -o/home/hamidi/essentia/build/src/algorithms/essentia_algorithms_reg.cpp.1.o -fpic -v
g++
's -v
option gave me actual paths visited linker (nothing bad in there, think, sake of completeness):
#include "..." search starts here: #include <...> search starts here: src ../src src/essentia ../src/essentia src/essentia/scheduler ../src/essentia/scheduler src/essentia/streaming ../src/essentia/streaming src/essentia/streaming/algorithms ../src/essentia/streaming/algorithms src/essentia/utils ../src/essentia/utils src/3rdparty ../src/3rdparty src/3rdparty/spline ../src/3rdparty/spline src/3rdparty/vamp-plugin-sdk-2.4 ../src/3rdparty/vamp-plugin-sdk-2.4 /usr/include/taglib /usr/include/qt4 /usr/include/qt4/qtcore /usr/local/include/gaia2/ /usr/include/c++/6 /usr/include/x86_64-linux-gnu/c++/6 /usr/include/c++/6/backward /usr/lib/gcc/x86_64-linux-gnu/6/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed /usr/include/x86_64-linux-gnu /usr/include end of search list.
here files (github repo) involved in error:
mtg/gaia/blob/master/src/gaia.h
mtg/gaia/blob/master/src/transformation.h#l106
/mtg/essentia/blob/master/src/algorithms/highlevel/gaiatransform.h
it error occurred while configuring gaia
caused problem. actually, rather using merely following options configuration:
./waf configure --with-python-bindings --with-asserts --with-cyclops
the option --with-stlfacade
added inadvertence. option not compatible when using gaia
in conjunction essentia
.
wiki
Comments
Post a Comment