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

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

Open
dgoldenberg-audiomack opened this issue Apr 24, 2023 · 4 comments · May be fixed by #36
Open

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

dgoldenberg-audiomack opened this issue Apr 24, 2023 · 4 comments · May be fixed by #36

Comments

@dgoldenberg-audiomack
Copy link

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

@dgoldenberg-audiomack dgoldenberg-audiomack changed the title Essential install fails on MacOS with 'Broken revdeps detected' Essentia install fails on MacOS with 'Broken revdeps detected' Apr 24, 2023
@dgoldenberg-audiomack
Copy link
Author

@Amar1729 Amar1729 linked a pull request Sep 24, 2023 that will close this issue
@Amar1729
Copy link

@dgoldenberg-audiomack for 1, that version of ffmpeg is wrong; essentia uses [email protected]

I don't think this issue is related to the other two, since this is an error from a manual build and those two relate to failures in the homebrew formula build. However, I think this will still be "solved" by the PR i linked, since you should be able to install as expected from the updated formula.

@bhargavajs07
Copy link

@Amar1729 Any update on this ?

@Amar1729
Copy link

@bhargavajs07 I'm not a maintainer, so no update from me. you can use my PR directly if you need (either follow instructions for switching to a PR's branch from GitHub, or re-tap from my fork).

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

Successfully merging a pull request may close this issue.

3 participants