essentia ๋น๋ ํ๋ก์ธ์ค๊ฐ ์ผ๋ถ gaia ํค๋๋ฅผ ์ฐพ์ ์ ์๋ ๋ ๋ค๋ฅธ ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ (ํฅํ ๋ฌธ์ ์์ ๋ ผ์ํ ์ ์์) --with-gaia ์ต์ ์์ด ๋น๋๋ฅผ ์๋ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์คํจํฉ๋๋ค.
์ฐธ๊ณ ๋ก ๋ค์์ configure ๋ช
๋ น์ด์์ต๋๋ค.
./waf ๊ตฌ์ฑ --mode=release --build-static --with-python --with-cpptests --with-examples --with-vamp
๋น์ ์ ๋์์ ๊ธฐ๋ํฉ๋๋ค!
/usr/bin/ld: test/3rdparty/gtest-1.6.0/src/gtest-all.cc.1.o: 'pthread_key_delete@@GLIBC_2.2.5' ๊ธฐํธ์ ๋ํ ์ ์๋์ง ์์ ์ฐธ์กฐ
//lib/x86_64-linux-gnu/libpthread.so.0: ๊ธฐํธ ์ถ๊ฐ ์ค๋ฅ: ๋ช
๋ น์ค์์ DSO ๋๋ฝ
collect2: ์ค๋ฅ: ld๊ฐ 1 ์ข
๋ฃ ์ํ๋ฅผ ๋ฐํํ์ต๋๋ค.
Waf: `/home/aagnone3/Downloads/essentia/build' ๋๋ ํ ๋ฆฌ์์ ๋๊ฐ๋๋ค.
๋น๋ ์คํจ
-> 'basetest' ์์
์คํจ(์ข
๋ฃ ์ํ 1):
{์์
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 -> ๊ธฐ๋ณธ ํ
์คํธ}
['/usr/bin/g++', 'ํ
์คํธ/3rdparty/gtest-1.6.0/src/gtest-all.cc.1.o', 'ํ
์คํธ/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', 'ํ
์คํธ /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', '-lavut il-ffmpeg', '-lavresample-ffmpeg', '-lsamplerate', '-ltag', '-lyaml']
๋ง์คํฐ ๋ฐ 2.0.1 ๋ถ๊ธฐ ๋ชจ๋์ ๋ํด ๋์ผํ ๊ฒฐ๊ณผ
๋ฌธ์ ๋ wscript#L268์ ์์ต๋๋ค.
์ด๊ฒ์ ์ผ๋ถ Linux ๋ฐฐํฌํ(์: Arch Linux)์์ Python์ platform.dist()
๊ฐ ๋น ๋ฌธ์์ด( ('', '', '')
)์ด ์๋ ํํ์ ๋ฐํํ๊ณ -lpthread
GCC ํ๋๊ทธ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ ๋ฐฐํฌํ ๋ชฉ๋ก์ ''
๋ฅผ ์ถ๊ฐํ์ฌ ํด๊ฒฐํ ์ ์์ต๋๋ค. 268ํ์ if platform.dist()[0] in ['Ubuntu', 'LinuxMint', '']:
๊ต์ฒดํ์ญ์์ค.
๋ฌผ๋ก ! ํนํ ํ์์ ๊ฒฝ์ฐ platform.dist()[0]์ '๋ฐ๋น์'์ด์์ง๋ง ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฑ๊ณต์ ์ธ ์์ ์ด์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ฌธ์ ๋ wscript#L268์ ์์ต๋๋ค.
์ด๊ฒ์ ์ผ๋ถ Linux ๋ฐฐํฌํ(์: Arch Linux)์์ Python์
platform.dist()
๊ฐ ๋น ๋ฌธ์์ด(('', '', '')
)์ด ์๋ ํํ์ ๋ฐํํ๊ณ-lpthread
GCC ํ๋๊ทธ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค.์ด ๋ฌธ์ ๋ ๋ฐฐํฌํ ๋ชฉ๋ก์
''
๋ฅผ ์ถ๊ฐํ์ฌ ํด๊ฒฐํ ์ ์์ต๋๋ค. 268ํ์if platform.dist()[0] in ['Ubuntu', 'LinuxMint', '']:
๊ต์ฒดํ์ญ์์ค.