2017-08-23 1 views
0

Ich versuche Essentia (https://github.com/MTG/essentia), eine Audio-Analyse-Bibliothek, mit Gaia (https://github.com/MTG/gaia) Unterstützung in Debian 9.0 von der Quelle zu bauen. Zuvor wurde eine seiner Abhängigkeiten, nämlich Gaia, erfolgreich aus der Quelle erstellt. Es wurde in /usr/local/ installiert.Gebäude Audio-Analysebibliothek Essentia fehlgeschlagen mit Gaia Unterstützung

Wenn es um Essentia kommt, versagt Zusammenstellung von Quellen mit den folgenden Fehlern:

[...] 
     In file included from ../src/algorithms/essentia_algorithms_reg.cpp:21:0: 
    ../src/algorithms/highlevel/gaiatransform.h: At global scope: 
    ../src/algorithms/highlevel/gaiatransform.h:37:10: error: ‘TransfoChain’ in namespace ‘gaia2’ does not name a type 
     gaia2::TransfoChain _history; 
       ^~~~~~~~~~~~ 
    ../src/algorithms/highlevel/gaiatransform.h: In constructor ‘essentia::standard::GaiaTransform::GaiaTransform()’: 
    ../src/algorithms/highlevel/gaiatransform.h:47:5: error: ‘init’ is not a member of ‘gaia2’ 
     gaia2::init(); 
     ^~~~~ 
    ../src/algorithms/highlevel/gaiatransform.h:47:5: note: suggested alternative: 
    In file included from ../src/essentia/algorithmfactory.h:27:0, 
        from ../src/algorithms/essentia_algorithms_reg.cpp:1: 
    ../src/essentia/essentia.h:46:6: note: ‘essentia::init’ 
    void init(); 
      ^~~~ 

Die Datei, wo der Fehler liegt, ist /src/algorithms/essentia_algorithms_reg.cpp und hier ist der Befehl, der die Datei mit kompiliert wird:

/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 gab mir die tatsächlichen Pfade durch den Linker (nichts schlechtes drin, ich denke, aber der Vollständigkeit halber):

#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. 

Hier sind die Dateien (GitHub Repo), die an Fehler:

  • MTG/gaia/Blob/Master/src/gaia.h

  • MTG/gaia/Blob/Master/src/transformation.h # L106

  • /MTG/essentia/blob/master/src/algorithms/highlevel/gaiatransform.h

Antwort

0

Es ist schließlich ein Fehler beim Konfigurieren von Gaia aufgetreten, der das Problem verursacht hat. Eigentlich anstatt lediglich die folgenden Optionen für die Konfiguration:

./waf configure --with-python-bindings --with-asserts --with-cyclops 

die Option --with-stlfacade wurde durch Unachtsamkeit hinzugefügt. Diese Option ist nicht kompatibel mit Gaia in Verbindung mit Essentia.

Verwandte Themen