Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build error #426

Closed
aagnone3 opened this issue Jun 16, 2016 · 3 comments
Closed

Build error #426

aagnone3 opened this issue Jun 16, 2016 · 3 comments

Comments

@aagnone3
Copy link

I was facing another issue where the essentia build process could not find some gaia headers (can discuss in a future issue), and attempting the build without the --with-gaia option fails as follows:

for reference, this was the configure command:
./waf configure --mode=release --build-static --with-python --with-cpptests --with-examples --with-vamp

Looking forward to your assistance!

/usr/bin/ld: test/3rdparty/gtest-1.6.0/src/gtest-all.cc.1.o: undefined reference to symbol 'pthread_key_delete@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Waf: Leaving directory `/home/aagnone3/Downloads/essentia/build'
Build failed
-> task in 'basetest' failed (exit status 1):
{task 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 -> basetest}
['/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/aagnone3/Downloads/essentia/build/basetest', '-Wl,-Bstatic', '-Lsrc', '-lessentia', '-Wl,-Bdynamic', '-L/usr/local/lib', '-lfftw3f', '-lavformat-ffmpeg', '-lavcodec-ffmpeg', '-lavutil-ffmpeg', '-lavresample-ffmpeg', '-lsamplerate', '-ltag', '-lyaml']

@aagnone3
Copy link
Author

Same result for both master and 2.0.1 branches

@0x414c
Copy link

0x414c commented Jun 17, 2016

The problem is in wscript#L268.
This happens because on some Linux distros (e.g. Arch Linux) Python's platform.dist() returns tuple with empty strings (('', '', '')), and -lpthread GCC flag will be missing.
The issue can be fixed by adding '' to the distros list: replace line 268 with if platform.dist()[0] in ['Ubuntu', 'LinuxMint', '']:.

@aagnone3
Copy link
Author

Indeed! Specifically for my case, platform.dist()[0] was 'debian', but a successful fix nevertheless.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants