Essentia: Build-Fehler

Erstellt am 16. Juni 2016  ·  3Kommentare  ·  Quelle: MTG/essentia

Ich stand vor einem anderen Problem, bei dem der essentia-Buildprozess einige gaia-Header nicht finden konnte (kann in einer zukünftigen Ausgabe erörtert werden), und der Versuch, den Build ohne die Option --with-gaia zu versuchen, schlägt wie folgt fehl:

Als Referenz war dies der Konfigurationsbefehl:
./waf configure --mode=release --build-static --with-python --with-cpptests --with-examples --with-vamp

Wir freuen uns auf Ihre Mithilfe!

/usr/bin/ld: test/3rdparty/gtest-1.6.0/src/gtest-all.cc.1.o: undefinierter Verweis auf Symbol 'pthread_key_delete@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: Fehler beim Hinzufügen von Symbolen: DSO fehlt in der Befehlszeile
Collect2: Fehler: ld hat 1 Exit-Status zurückgegeben
Waf: Verlassen des Verzeichnisses `/home/aagnole3/Downloads/essentia/build'
Build fehlgeschlagen
-> Task in 'basetest' fehlgeschlagen (Exit-Status 1):
{Aufgabe 139835574329168: cxxprogram gtest-all.cc.1.o,test_audioloader.cpp.1.o,test_composite.cpp.1.o,test_connectors.cpp.1.o,test_copy.cpp.1.o,test_fileoutput.cpp .1.o,test_main.cpp.1.o,test_math.cpp.1.o,test_network.cpp.1.o,test_networkparser.cpp.1.o,test_parameter.cpp.1.o,test_peak.cpp.1 .o,test_pool.cpp.1.o,test_scheduler.cpp.1.o,test_stringutil.cpp.1.o,test_treetraversal.cpp.1.o,test_vectorinput.cpp.1.o,test_vectoroutput.cpp.1.o -> Basistest}
['/usr/bin/g++', 'test/3rdparty/gtest-1.6.0/src/gtest-all.cc.1.o', 'test/src/basetest/test_audioloader.cpp.1.o', 'test/src/basetest/test_composite.cpp.1.o', 'test/src/basetest/test_connectors.cpp.1.o', 'test/src/basetest/test_copy.cpp.1.o', 'test /src/basetest/test_fileoutput.cpp.1.o', 'test/src/basetest/test_main.cpp.1.o', 'test/src/basetest/test_math.cpp.1.o', 'test/src /basetest/test_network.cpp.1.o', 'test/src/basetest/test_networkparser.cpp.1.o', 'test/src/basetest/test_parameter.cpp.1.o', 'test/src/basetest /test_peak.cpp.1.o', 'test/src/basetest/test_pool.cpp.1.o', 'test/src/basetest/test_scheduler.cpp.1.o', 'test/src/basetest/test_stringutil .cpp.1.o', 'test/src/basetest/test_treetraversal.cpp.1.o', 'test/src/basetest/test_vectorinput.cpp.1.o', 'test/src/basetest/test_vectoroutput.cpp .1.o', '-o', '/home/aagnole3/Downloads/essentia/build/basetest', '-Wl,-Bstatic', '-Lsrc', '-lessentia', '-Wl,-Bdynamic ', '-L/usr/local/lib', '-lfftw3f', '-lavformat-ffmpeg', '-lavcodec-ffmpeg', '-lavut il-ffmpeg', '-lavresample-ffmpeg', '-lsamplerate', '-ltag', '-lyaml']

Hilfreichster Kommentar

Das Problem liegt in wscript#L268 .
Dies geschieht, weil bei einigen Linux-Distributionen (zB Arch Linux) Pythons platform.dist() Tupel mit leeren Strings ( ('', '', '') ) zurückgibt und das -lpthread GCC-Flag fehlt.
Das Problem kann behoben werden, indem '' zur Distributionsliste hinzugefügt wird: Ersetzen Sie Zeile 268 durch if platform.dist()[0] in ['Ubuntu', 'LinuxMint', '']: .

Alle 3 Kommentare

Gleiches Ergebnis für Master- und 2.0.1-Zweig

Das Problem liegt in wscript#L268 .
Dies geschieht, weil bei einigen Linux-Distributionen (zB Arch Linux) Pythons platform.dist() Tupel mit leeren Strings ( ('', '', '') ) zurückgibt und das -lpthread GCC-Flag fehlt.
Das Problem kann behoben werden, indem '' zur Distributionsliste hinzugefügt wird: Ersetzen Sie Zeile 268 durch if platform.dist()[0] in ['Ubuntu', 'LinuxMint', '']: .

In der Tat! Speziell für meinen Fall war platform.dist()[0] 'debian', aber dennoch ein erfolgreicher Fix.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen