Open halaei opened 4 years ago
You should try and work out what essentia configuration flags you need for your requirements:
./waf configure --with-vamp --with-gaia --with-examples --with-static-examples --with-example=streaming_extractor_music,streaming_extractor_freesound,streaming_extractor_music_svm
--with-examples --with-example=
these two arguments are complimentary. --with-examples will compile all essentia examples. --with-example=x will compile just the specific ones that you want. If you only need the 3 extractors, only specify this argument
--with-static-examples
this will compile the extractors as a static file, and therefore needs the dependencies to be compiled statically too. We provide tools for this in the packaging
folder. If you don't specifically need statically compiled tools, remove this option
Thanks for the help. I have already find out about --with-examples and --with-example=. I didn't know about --with-static-examples and packaging folder. I will take a look at. I also removed --with-static-examples for now, and choose to have only one example, so my config looks like:
./waf configure --with-vamp --with-gaia --with-example=streaming_extractor_music,streaming_extractor_freesound,streaming_extractor_music_svm
However, I still have the following errors:
[300/300] Linking build/src/libessentia.so
/usr/bin/ld: /usr/local/lib/libavcodec.a(vc1dsp_mmx.o): relocation R_X86_64_PC32 against symbol `ff_pw_9' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Waf: Leaving directory `/mnt/data/acousticbrainz/src/essentia/build'
Build failed
-> task in 'essentia' failed with exit status 1 (run with -v to display more information)
I guess it means I have to recompile ffmpeg with --enable-pic.
I tested the packaging and followed the instruction in Linux/OSX static builds faq. Build was successful but still music extractor doesn't have gaia support:
[ WARNING ] MusicExtractor: Gaia library is missing. Skipping configuration of SVM models.
Here is what I did:
packaging/build_3rdparty_static_debian.sh --with-gaia
./waf configure --with-static-examples
./waf
Also I want to note that I tried ./waf configure --with-gaia --with-static-examples
as well, which resulted link errors:
/usr/bin/ld: cannot find -lQtCore
collect2: error: ld returned 1 exit status
/usr/bin/ld: cannot find -lQtCore
collect2: error: ld returned 1 exit status
/usr/bin/ld: cannot find -lQtCore
collect2: error: ld returned 1 exit status
Waf: Leaving directory `/mnt/data/acousticbrainz/src/essentia/build'
Build failed
-> task in 'essentia_standard_beatsmarker' failed with exit status 1 (run with -v to display more information)
-> task in 'essentia_standard_mfcc' failed with exit status 1 (run with -v to display more information)
-> task in 'essentia_standard_fadedetection' failed with exit status 1 (run with -v to display more information)
Any idea what should be done @alastair ?
I think packaging/build_3rdparty_static_debian.sh --with-gaia
didn't build qt and gaia as said in faq. So I installed them manually. Probably a bug in faq page or build_3rdparty_static_debian.sh.
Now I can run ./essentia_streaming_extractor_music_svm with Segmentation fault :)
I am trying to build on Ubunbu 18.04 but it fails. Here is a script to reproduce:
The last ./waf will fail with the following message:
I have installed ffmpeg 4.2.2 with the following configuration:
So I guess -lfdk-aac sould be found
Running ./waf -vvv results in the following errors:
Can you please help to figure it out?