Closed d-rocchesso closed 2 years ago
Same issue here. Is it a change in the ffmpeg 5.0 API?
I have the same issue, did anyone ever figure it out?
similar issue here, I will try build from source and see how that works out
Last 15 lines from /Users/ellis/Library/Logs/Homebrew/essentia/02.python3:
/usr/local/Cellar/ffmpeg/5.0/include/libavcodec/avcodec.h:3011:61: note: passing argument to parameter 'buf' here
int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size,
^
../src/essentia/utils/audiocontext.cpp:364:7: error: use of undeclared identifier 'av_free_packet'; did you mean 'av_init_packet'?
av_free_packet(&packet);
^~~~~~~~~~~~~~
av_init_packet
/usr/local/Cellar/ffmpeg/5.0/include/libavcodec/packet.h:506:6: note: 'av_init_packet' declared here
void av_init_packet(AVPacket *pkt);
^
14 errors generated.
Waf: Leaving directory `/private/tmp/essentia-20220218-3930-tqzxdx/build'
Build failed
install from source works like a charm - here's the config I used
python3 waf configure --build-static --with-python --with-examples --with-gaia
I was getting errors with the config but installing libresample and libav fixed it:
brew install libav libresample
I needed to build gaia from source too - make sure you use python3 if it's not the default in your path - for example:
PYTHON=python3 ./waf configure --with-python-bindings
I think the formulas for gaia and essentia are just a bit outdated :)
Hello, I would have a closer-related question regarding Essentia for Mac and the waf configuration.
python3 ./waf configure --build-static --with-python --with-cpptests --with-examples --with-vamp
python3 ./waf
python3 ./waf install
I'm using macOs 12.0 with M1. I had first successfully installed Essentia with "brew." Then, I went into the folder essentia-master, and I ran python3 ./waf configure --build-static --with-python --with-cpptests --with-examples --with-vamp
with no issues.
However, at the step [293/294] Compiling essentia.pc.in
, there are troubles. There appear references to the architecture arm64/x86_64:
[296/450] Linking build/src/examples/essentia_standard_beatsmarker
[298/450] Linking build/src/examples/essentia_standard_fadedetection
[300/450] Linking build/src/examples/essentia_standard_mfcc
[302/450] Linking build/src/examples/essentia_standard_onsetrate
[304/450] Linking build/src/examples/essentia_standard_pitchdemo
[306/450] Linking build/src/examples/essentia_standard_rhythmtransform
[308/450] Linking build/src/examples/essentia_standard_spectralcontrast
[310/450] Linking build/src/examples/essentia_standard_vibrato
[312/450] Linking build/src/examples/essentia_standard_harmonicmodel
[314/450] Linking build/src/examples/essentia_standard_hpsmodel
ld: warning: ignoring file /opt/homebrew/Cellar/fftw/3.3.10/lib/libfftw3f.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
ld: warning: ignoring file /opt/homebrew/Cellar/taglib/1.12/lib/libtag.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
ld: warning: ignoring file /opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib/libsamplerate.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
...and another issue seems to be related with TagLib:
Undefined symbols for architecture x86_64:
"TagLib::StringList::StringList(TagLib::StringList const&)", referenced from:
std::__1::pair<std::__1::__tree_iterator<std::__1::__value_type<TagLib::String, TagLib::StringList>, std::__1::__tree_node<std::__1::__value_type<TagLib::String, TagLib::StringList>, void*>*, long>, bool>
At the end, the build fails.
How could I fix these issues? Thank you for the suggestions you can give me.
@medusamedusa Does it build without --build-static
flag?
You can run python3 waf -v
to check which compilation flags are used.
Without --build-static
it configures correctly. I was not using this in the build step.
With python3 waf -v
, I get a plethora of comments of the form:
[296/450] Linking build/src/examples/essentia_standard_beatsmarker
19:47:31 runner ['/usr/bin/clang++', 'src/examples/standard_beatsmarker.cpp.1.o', '-o/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build/src/examples/essentia_standard_beatsmarker', '-Lsrc', '-lessentia', '-L/opt/homebrew/Cellar/fftw/3.3.10/lib', '-L/opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib', '-L/opt/homebrew/Cellar/taglib/1.12/lib', '-L/opt/homebrew/Cellar/libyaml/0.2.5/lib', '-L/opt/homebrew/Cellar/chromaprint/1.5.1_1/lib', '-lfftw3f', '-lsamplerate', '-ltag', '-lz', '-lyaml', '-lchromaprint']
and other comments as the following ones:
"_src_strerror", referenced from:
essentia::standard::Resample::compute() in libessentia.a(resample.cpp.1.o)
essentia::streaming::Resample::process() in libessentia.a(resample.cpp.1.o)
essentia::streaming::Resample::reset() in libessentia.a(resample.cpp.1.o)
...
ld: symbol(s) not found for architecture x86_64`
...
essentia::parseYaml(__sFILE*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libessentia.a(yamlast.cpp.1.o)
throwParserError(yaml_parser_s*) in libessentia.a(yamlast.cpp.1.o)
...and finally:
Waf: Leaving directory `/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build'
Build failed
-> task in 'essentia_standard_pitchdemo' failed with exit status 1:
{task 140683534275744: cxxprogram standard_pitchdemo.cpp.5.o -> essentia_standard_pitchdemo}
['/usr/bin/clang++', 'src/examples/standard_pitchdemo.cpp.5.o', '-o/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build/src/examples/essentia_standard_pitchdemo', '-Lsrc', '-lessentia', '-L/opt/homebrew/Cellar/fftw/3.3.10/lib', '-L/opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib', '-L/opt/homebrew/Cellar/taglib/1.12/lib', '-L/opt/homebrew/Cellar/libyaml/0.2.5/lib', '-L/opt/homebrew/Cellar/chromaprint/1.5.1_1/lib', '-lfftw3f', '-lsamplerate', '-ltag', '-lz', '-lyaml', '-lchromaprint']
-> task in 'essentia_standard_mfcc' failed with exit status 1:
{task 140683534275296: cxxprogram standard_mfcc.cpp.3.o -> essentia_standard_mfcc}
['/usr/bin/clang++', 'src/examples/standard_mfcc.cpp.3.o', '-o/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build/src/examples/essentia_standard_mfcc', '-Lsrc', '-lessentia', '-L/opt/homebrew/Cellar/fftw/3.3.10/lib', '-L/opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib', '-L/opt/homebrew/Cellar/taglib/1.12/lib', '-L/opt/homebrew/Cellar/libyaml/0.2.5/lib', '-L/opt/homebrew/Cellar/chromaprint/1.5.1_1/lib', '-lfftw3f', '-lsamplerate', '-ltag', '-lz', '-lyaml', '-lchromaprint']
-> task in 'essentia_standard_rhythmtransform' failed with exit status 1:
{task 140683534275968: cxxprogram standard_rhythmtransform.cpp.6.o -> essentia_standard_rhythmtransform}
['/usr/bin/clang++', 'src/examples/standard_rhythmtransform.cpp.6.o', '-o/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build/src/examples/essentia_standard_rhythmtransform', '-Lsrc', '-lessentia', '-L/opt/homebrew/Cellar/fftw/3.3.10/lib', '-L/opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib', '-L/opt/homebrew/Cellar/taglib/1.12/lib', '-L/opt/homebrew/Cellar/libyaml/0.2.5/lib', '-L/opt/homebrew/Cellar/chromaprint/1.5.1_1/lib', '-lfftw3f', '-lsamplerate', '-ltag', '-lz', '-lyaml', '-lchromaprint']
-> task in 'essentia_standard_spectralcontrast' failed with exit status 1:
{task 140683534276192: cxxprogram standard_spectralcontrast.cpp.7.o -> essentia_standard_spectralcontrast}
['/usr/bin/clang++', 'src/examples/standard_spectralcontrast.cpp.7.o', '-o/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build/src/examples/essentia_standard_spectralcontrast', '-Lsrc', '-lessentia', '-L/opt/homebrew/Cellar/fftw/3.3.10/lib', '-L/opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib', '-L/opt/homebrew/Cellar/taglib/1.12/lib', '-L/opt/homebrew/Cellar/libyaml/0.2.5/lib', '-L/opt/homebrew/Cellar/chromaprint/1.5.1_1/lib', '-lfftw3f', '-lsamplerate', '-ltag', '-lz', '-lyaml', '-lchromaprint']
-> task in 'essentia_standard_harmonicmodel' failed with exit status 1:
{task 140683534276640: cxxprogram standard_harmonicmodel.cpp.9.o -> essentia_standard_harmonicmodel}
['/usr/bin/clang++', 'src/examples/standard_harmonicmodel.cpp.9.o', '-o/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build/src/examples/essentia_standard_harmonicmodel', '-Lsrc', '-lessentia', '-L/opt/homebrew/Cellar/fftw/3.3.10/lib', '-L/opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib', '-L/opt/homebrew/Cellar/taglib/1.12/lib', '-L/opt/homebrew/Cellar/libyaml/0.2.5/lib', '-L/opt/homebrew/Cellar/chromaprint/1.5.1_1/lib', '-lfftw3f', '-lsamplerate', '-ltag', '-lz', '-lyaml', '-lchromaprint']
-> task in 'essentia_standard_vibrato' failed with exit status 1:
{task 140683534276416: cxxprogram standard_vibrato.cpp.8.o -> essentia_standard_vibrato}
['/usr/bin/clang++', 'src/examples/standard_vibrato.cpp.8.o', '-o/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build/src/examples/essentia_standard_vibrato', '-Lsrc', '-lessentia', '-L/opt/homebrew/Cellar/fftw/3.3.10/lib', '-L/opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib', '-L/opt/homebrew/Cellar/taglib/1.12/lib', '-L/opt/homebrew/Cellar/libyaml/0.2.5/lib', '-L/opt/homebrew/Cellar/chromaprint/1.5.1_1/lib', '-lfftw3f', '-lsamplerate', '-ltag', '-lz', '-lyaml', '-lchromaprint']
-> task in 'essentia_standard_onsetrate' failed with exit status 1:
{task 140683534275520: cxxprogram standard_onsetrate.cpp.4.o -> essentia_standard_onsetrate}
['/usr/bin/clang++', 'src/examples/standard_onsetrate.cpp.4.o', '-o/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build/src/examples/essentia_standard_onsetrate', '-Lsrc', '-lessentia', '-L/opt/homebrew/Cellar/fftw/3.3.10/lib', '-L/opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib', '-L/opt/homebrew/Cellar/taglib/1.12/lib', '-L/opt/homebrew/Cellar/libyaml/0.2.5/lib', '-L/opt/homebrew/Cellar/chromaprint/1.5.1_1/lib', '-lfftw3f', '-lsamplerate', '-ltag', '-lz', '-lyaml', '-lchromaprint']
-> task in 'essentia_standard_fadedetection' failed with exit status 1:
{task 140683534275072: cxxprogram standard_fadedetection.cpp.2.o -> essentia_standard_fadedetection}
['/usr/bin/clang++', 'src/examples/standard_fadedetection.cpp.2.o', '-o/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build/src/examples/essentia_standard_fadedetection', '-Lsrc', '-lessentia', '-L/opt/homebrew/Cellar/fftw/3.3.10/lib', '-L/opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib', '-L/opt/homebrew/Cellar/taglib/1.12/lib', '-L/opt/homebrew/Cellar/libyaml/0.2.5/lib', '-L/opt/homebrew/Cellar/chromaprint/1.5.1_1/lib', '-lfftw3f', '-lsamplerate', '-ltag', '-lz', '-lyaml', '-lchromaprint']
-> task in 'essentia_standard_beatsmarker' failed with exit status 1:
{task 140683534274848: cxxprogram standard_beatsmarker.cpp.1.o -> essentia_standard_beatsmarker}
['/usr/bin/clang++', 'src/examples/standard_beatsmarker.cpp.1.o', '-o/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build/src/examples/essentia_standard_beatsmarker', '-Lsrc', '-lessentia', '-L/opt/homebrew/Cellar/fftw/3.3.10/lib', '-L/opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib', '-L/opt/homebrew/Cellar/taglib/1.12/lib', '-L/opt/homebrew/Cellar/libyaml/0.2.5/lib', '-L/opt/homebrew/Cellar/chromaprint/1.5.1_1/lib', '-lfftw3f', '-lsamplerate', '-ltag', '-lz', '-lyaml', '-lchromaprint']
-> task in 'essentia_standard_hpsmodel' failed with exit status 1:
{task 140683534276864: cxxprogram standard_hpsmodel.cpp.10.o -> essentia_standard_hpsmodel}
['/usr/bin/clang++', 'src/examples/standard_hpsmodel.cpp.10.o', '-o/opt/homebrew/Cellar/essentia/HEAD-c9eadba/essentia-master/build/src/examples/essentia_standard_hpsmodel', '-Lsrc', '-lessentia', '-L/opt/homebrew/Cellar/fftw/3.3.10/lib', '-L/opt/homebrew/Cellar/libsamplerate/0.1.9_1/lib', '-L/opt/homebrew/Cellar/taglib/1.12/lib', '-L/opt/homebrew/Cellar/libyaml/0.2.5/lib', '-L/opt/homebrew/Cellar/chromaprint/1.5.1_1/lib', '-lfftw3f', '-lsamplerate', '-ltag', '-lz', '-lyaml', '-lchromaprint']
If I run
brew install essentia --HEAD
I get