MTG / homebrew-essentia

Homebrew build scripts for Essentia
34 stars 13 forks source link

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

Open dgoldenberg-audiomack opened 1 year ago

dgoldenberg-audiomack commented 1 year ago

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 ================================

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


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 commented 1 year ago

Seems related to

Amar1729 commented 11 months ago

@dgoldenberg-audiomack for 1, that version of ffmpeg is wrong; essentia uses ffmpeg@2.8

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 commented 6 months ago

@Amar1729 Any update on this ?

Amar1729 commented 6 months ago

@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).