Skip to content

Essentia install fails on MacOS with 'Broken revdeps detected' #33

@dgoldenberg-audiomack

Description

@dgoldenberg-audiomack

Following steps outlined here, (ticket #30), and the installation steps.

$ python3 waf configure --build-static --with-python --with-cpptests --with-examples --with-vamp

Setting top to : /code/data-pipeline/essentia-2.1_beta5
Setting out to : /code/data-pipeline/essentia-2.1_beta5/build
→ configuring the project in /code/data-pipeline/essentia-2.1_beta5
→ Building in release mode
Checking for 'clang++' (C++ compiler) : /usr/bin/clang++
Checking for 'clang' (C compiler) : /usr/bin/clang
Checking for program 'pkg-config' : /usr/local/bin/pkg-config
Checking for 'libavcodec' >= 55.34.1 : not found
Checking for 'libavformat' : not found
Checking for 'libavutil' : not found
Checking for 'libavresample' : not found
Checking for 'samplerate' : yes
Checking for 'taglib' >= 1.9 : yes
Checking for 'yaml-0.1' : yes
Checking for 'fftw3f' : yes
Checking for 'libchromaprint' : yes
Checking for 'clang' (C compiler) : /usr/bin/clang
Checking for program 'python' : /code/data-pipeline/venv/bin/python3
Checking for python version >= 2.7.0 : 3.7.2
→ Configuring for python3
python-config : /usr/local/bin/python3.7-config
Asking python-config for pyext '--cflags --libs --ldflags' flags : yes
Testing pyext configuration : yes
Checking for python module 'numpy' : 1.21.6

================================ CONFIGURATION SUMMARY ================================

  • using FFTW for FFT

  • fftw detected!

  • FFmpeg (or LibAv on debian/ubuntu) seems to be missing.
    The following algorithms will be ignored: ['AudioLoader', 'MonoLoader', 'EqloudLoader', 'EasyLoader', 'MonoWriter', 'AudioWriter']

  • libsamplerate (SRC) detected!
    The following algorithms will be included: ['Resample']

  • TagLib detected!
    The following algorithms will be included: ['MetadataReader', 'MusicExtractor', 'FreesoundExtractor']

  • libyaml detected!
    The following algorithms will be included: ['YamlInput', 'YamlOutput']

  • Essentia is configured without Gaia2.
    The following algorithms will be ignored: ['GaiaTransform', 'MusicExtractorSVM']
    Examples requiring Gaia2 will be ignored

  • Chromaprint detected!
    The following algorithms will be included: ['Chromaprinter']

Building all the algorithms
Ignoring the following algorithms: FFTAComplex, MonoLoader, MonoWriter, AudioWriter, FFTA, MusicExtractorSVM, FFTKComplex, IFFTA, AudioLoader, EasyLoader, IFFTK, IFFTKComplex, IFFTAComplex, GaiaTransform, FFTK, EqloudLoader
Created algorithms registration file

  • Building static library
  • Building Python extension
  • Building examples
  • Building Vamp plugin
    =======================================================================================
    'configure' finished successfully (1.479s)

ISSUE 1

Firstly, any way around this? -

FFmpeg (or LibAv on debian/ubuntu) seems to be missing.

I do have ffmpeg installed:

~ >> ffmpeg -version
ffmpeg version 6.0-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2023 the FFmpeg developers
built with Apple clang version 11.0.0 (clang-1100.0.33.17)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
libavutil      58.  2.100 / 58.  2.100
libavcodec     60.  3.100 / 60.  3.100
libavformat    60.  3.100 / 60.  3.100
libavdevice    60.  1.100 / 60.  1.100
libavfilter     9.  3.100 /  9.  3.100
libswscale      7.  1.100 /  7.  1.100
libswresample   4. 10.100 /  4. 10.100
libpostproc    57.  1.100 / 57.  1.100

Is this a wrong version?


ISSUE 2

Secondly, I then do a python3 waf -v and get this error:

Broken revdeps detected on {
	{task 140253724090264: 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}}

These errors seem to mostly be like this:

In file included from ../test/src/basetest/test_audioloader.cpp:20:
In file included from ../test/src/basetest/essentia_gtest.h:23:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/include/c++/v1/iostream:39:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/include/c++/v1/istream:163:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/include/c++/v1/ostream:142:
../version:1:1: error: expected unqualified-id
2.1-beta5

Any idea as to how to work around these?

Attaching a fuller output:

waf-output.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions