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 git master fails to build with ffmpeg git for me #1243

Closed
CartoonFan opened this issue Mar 8, 2022 · 1 comment
Closed

Essentia git master fails to build with ffmpeg git for me #1243

CartoonFan opened this issue Mar 8, 2022 · 1 comment

Comments

@CartoonFan
Copy link

Hello! I tried to build essentia on Arch Linux x86_64 with the latest git version of ffmpeg, but I ran into a build error. I've put a snippet of the output here, and hopefully attached everything else required below. Thanks!

15:50:53 task task 
	{task 140632437630096: cxx onsets.cpp -> onsets.cpp.1.o} must run: the task signature changed
In file included from ../src/algorithms/io/audioloader.cpp:20:
../src/algorithms/io/audioloader.h: In constructor ‘essentia::streaming::AudioLoader::AudioLoader()’:
../src/algorithms/io/audioloader.h:98:5: error: ‘av_register_all’ was not declared in this scope
   98 |     av_register_all();
      |     ^~~~~~~~~~~~~~~
../src/algorithms/io/audioloader.cpp: In member function ‘void essentia::streaming::AudioLoader::openAudioFile(const string&)’:
../src/algorithms/io/audioloader.cpp:81:36: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
   81 |         if (_demuxCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
      |                                    ^~~~~
../src/algorithms/io/audioloader.cpp:102:49: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
  102 |     _audioCtx = _demuxCtx->streams[_streamIdx]->codec;
      |                                                 ^~~~~
../src/algorithms/io/audioloader.cpp:103:39: error: invalid conversion from ‘const AVCodec*’ to ‘AVCodec*’ [-fpermissive]
  103 |     _audioCodec = avcodec_find_decoder(_audioCtx->codec_id);
      |                   ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
      |                                       |
      |                                       const AVCodec*
../src/algorithms/io/audioloader.cpp:123:45: warning: ‘AVAudioResampleContext* avresample_alloc_context()’ is deprecated [-Wdeprecated-declarations]
  123 |     _convertCtxAv = avresample_alloc_context();
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from ../src/essentia/utils/ffmpegapi.h:27,
                 from ../src/algorithms/io/audioloader.h:25,
                 from ../src/algorithms/io/audioloader.cpp:20:
/usr/include/libavresample/avresample.h:194:25: note: declared here
  194 | AVAudioResampleContext *avresample_alloc_context(void);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~
../src/algorithms/io/audioloader.cpp:132:24: warning: ‘int avresample_open(AVAudioResampleContext*)’ is deprecated [-Wdeprecated-declarations]
  132 |     if (avresample_open(_convertCtxAv) < 0) {
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
In file included from ../src/essentia/utils/ffmpegapi.h:27,
                 from ../src/algorithms/io/audioloader.h:25,
                 from ../src/algorithms/io/audioloader.cpp:20:
/usr/include/libavresample/avresample.h:214:5: note: declared here
  214 | int avresample_open(AVAudioResampleContext *avr);
      |     ^~~~~~~~~~~~~~~
../src/algorithms/io/audioloader.cpp:136:19: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  136 |     av_init_packet(&_packet);
      |     ~~~~~~~~~~~~~~^~~~~~~~~~
In file included from /usr/include/libavcodec/avcodec.h:45,
                 from ../src/essentia/utils/ffmpegapi.h:24,
                 from ../src/algorithms/io/audioloader.h:25,
                 from ../src/algorithms/io/audioloader.cpp:20:
/usr/include/libavcodec/packet.h:506:6: note: declared here
  506 | void av_init_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~
../src/algorithms/io/audioloader.cpp: In member function ‘void essentia::streaming::AudioLoader::closeAudioFile()’:
../src/algorithms/io/audioloader.cpp:153:25: warning: ‘void avresample_close(AVAudioResampleContext*)’ is deprecated [-Wdeprecated-declarations]
  153 |         avresample_close(_convertCtxAv);
      |         ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
In file included from ../src/essentia/utils/ffmpegapi.h:27,
                 from ../src/algorithms/io/audioloader.h:25,
                 from ../src/algorithms/io/audioloader.cpp:20:
/usr/include/libavresample/avresample.h:245:6: note: declared here
  245 | void avresample_close(AVAudioResampleContext *avr);
      |      ^~~~~~~~~~~~~~~~
../src/algorithms/io/audioloader.cpp:154:24: warning: ‘void avresample_free(AVAudioResampleContext**)’ is deprecated [-Wdeprecated-declarations]
  154 |         avresample_free(&_convertCtxAv);
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
In file included from ../src/essentia/utils/ffmpegapi.h:27,
                 from ../src/algorithms/io/audioloader.h:25,
                 from ../src/algorithms/io/audioloader.cpp:20:
/usr/include/libavresample/avresample.h:258:6: note: declared here
  258 | void avresample_free(AVAudioResampleContext **avr);
      |      ^~~~~~~~~~~~~~~
../src/algorithms/io/audioloader.cpp:164:5: error: ‘av_free_packet’ was not declared in this scope; did you mean ‘av_new_packet’?
  164 |     av_free_packet(&_packet);
      |     ^~~~~~~~~~~~~~
      |     av_new_packet
../src/algorithms/io/audioloader.cpp: In member function ‘virtual essentia::streaming::AlgorithmStatus essentia::streaming::AudioLoader::process()’:
../src/algorithms/io/audioloader.cpp:247:5: error: ‘av_free_packet’ was not declared in this scope; did you mean ‘av_new_packet’?
  247 |     av_free_packet(&_packet);
      |     ^~~~~~~~~~~~~~
      |     av_new_packet
../src/algorithms/io/audioloader.cpp: In member function ‘int essentia::streaming::AudioLoader::decode_audio_frame(AVCodecContext*, float*, int*, AVPacket*)’:
../src/algorithms/io/audioloader.cpp:264:15: error: ‘avcodec_decode_audio4’ was not declared in this scope; did you mean ‘avcodec_decode_subtitle2’?
  264 |     int len = avcodec_decode_audio4(audioCtx, _decodedFrame, &gotFrame, packet);
      |               ^~~~~~~~~~~~~~~~~~~~~
      |               avcodec_decode_subtitle2
../src/algorithms/io/audioloader.cpp:289:51: warning: ‘int avresample_convert(AVAudioResampleContext*, uint8_t**, int, int, uint8_t* const*, int, int)’ is deprecated [-Wdeprecated-declarations]
  289 |           int samplesWrittern = avresample_convert(_convertCtxAv,
      |                                 ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
  290 |                                           (uint8_t**) &output,
      |                                           ~~~~~~~~~~~~~~~~~~~~
  291 |                                           outputPlaneSize,
      |                                           ~~~~~~~~~~~~~~~~
  292 |                                           outputBufferSamples,
      |                                           ~~~~~~~~~~~~~~~~~~~~
  293 |                                           (uint8_t**)_decodedFrame->data,
      |                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  294 |                                           inputPlaneSize,
      |                                           ~~~~~~~~~~~~~~~
  295 |                                           inputSamples);
      |                                           ~~~~~~~~~~~~~
In file included from ../src/essentia/utils/ffmpegapi.h:27,
                 from ../src/algorithms/io/audioloader.h:25,
                 from ../src/algorithms/io/audioloader.cpp:20:
/usr/include/libavresample/avresample.h:451:5: note: declared here
  451 | int avresample_convert(AVAudioResampleContext *avr, uint8_t **output,
      |     ^~~~~~~~~~~~~~~~~~
../src/algorithms/io/audioloader.cpp: In member function ‘void essentia::streaming::AudioLoader::flushPacket()’:
../src/algorithms/io/audioloader.cpp:321:19: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
  321 |     av_init_packet(&empty);
      |     ~~~~~~~~~~~~~~^~~~~~~~
In file included from /usr/include/libavcodec/avcodec.h:45,
                 from ../src/essentia/utils/ffmpegapi.h:24,
                 from ../src/algorithms/io/audioloader.h:25,
                 from ../src/algorithms/io/audioloader.cpp:20:
/usr/include/libavcodec/packet.h:506:6: note: declared here
  506 | void av_init_packet(AVPacket *pkt);
      |      ^~~~~~~~~~~~~~

../src/algorithms/standard/vectorrealtotensor.cpp: In member function ‘virtual essentia::streaming::AlgorithmStatus essentia::streaming::VectorRealToTensor::process()’:
../src/algorithms/standard/vectorrealtotensor.cpp:221:45: warning: comparison of integer expressions of different signedness: ‘std::vector<std::vector<std::vector<float> > >::size_type’ {aka ‘long unsigned int’} and ‘__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘int’} [-Wsign-compare]
  221 |     } else if (shouldStop() and _acc.size() < _shape[0]) {

Waf: Leaving directory `/home/jeremiah/Downloads/workshop/vcs/essentia/build'
  File "/home/jeremiah/Downloads/workshop/vcs/essentia/waf", line 168, in <module>
    Scripting.waf_entry_point(cwd, VERSION, wafdir)
  File "/home/jeremiah/Downloads/workshop/vcs/essentia/.waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib/Scripting.py", line 119, in waf_entry_point
    run_commands()
  File "/home/jeremiah/Downloads/workshop/vcs/essentia/.waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib/Scripting.py", line 182, in run_commands
    ctx=run_command(cmd_name)
  File "/home/jeremiah/Downloads/workshop/vcs/essentia/.waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib/Scripting.py", line 173, in run_command
    ctx.execute()
  File "/home/jeremiah/Downloads/workshop/vcs/essentia/.waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib/Scripting.py", line 375, in execute
    return execute_method(self)
  File "/home/jeremiah/Downloads/workshop/vcs/essentia/.waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib/Build.py", line 93, in execute
    self.execute_build()
  File "/home/jeremiah/Downloads/workshop/vcs/essentia/.waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib/Build.py", line 100, in execute_build
    self.compile()
  File "/home/jeremiah/Downloads/workshop/vcs/essentia/.waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib/Tools/errcheck.py", line 140, in check_compile
    ret=self.orig_compile()
  File "/home/jeremiah/Downloads/workshop/vcs/essentia/.waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib/Build.py", line 176, in compile
    raise Errors.BuildError(self.producer.error)
  File "/home/jeremiah/Downloads/workshop/vcs/essentia/.waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib/Errors.py", line 26, in __init__
    WafError.__init__(self,self.format_error())
 
Build failed
 -> task in 'essentia' failed with exit status 1: 
	{task 140632437626512: cxx audioloader.cpp -> audioloader.cpp.1.o}
['/usr/bin/g++', '-std=c++11', '-pipe', '-Wall', '-msse', '-msse2', '-mfpmath=sse', '-O2', '-fPIC', '-pthread', '-Isrc', '-I../src', '-Isrc/essentia', '-I../src/essentia', '-Isrc/essentia/scheduler', '-I../src/essentia/scheduler', '-Isrc/essentia/streaming', '-I../src/essentia/streaming', '-Isrc/essentia/streaming/algorithms', '-I../src/essentia/streaming/algorithms', '-Isrc/essentia/utils', '-I../src/essentia/utils', '-Isrc/3rdparty', '-I../src/3rdparty', '-Isrc/3rdparty/spline', '-I../src/3rdparty/spline', '-Isrc/3rdparty/nnls', '-I../src/3rdparty/nnls', '-Isrc/3rdparty/cephes/bessel', '-I../src/3rdparty/cephes/bessel', '-Isrc/3rdparty/vamp-plugin-sdk-2.4', '-I../src/3rdparty/vamp-plugin-sdk-2.4', '-I/usr/include/eigen3', '-I/usr/include/taglib', '-I/usr/include/qt4', '-I/usr/include/qt4/QtCore', '-I/usr/include/tensorflow', '-DHAVE_EIGEN3=1', '-DEIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS', '-DHAVE_AVCODEC=1', '-DHAVE_AVFORMAT=1', '-DHAVE_AVUTIL=1', '-DHAVE_AVRESAMPLE=1', '-DHAVE_SAMPLERATE=1', '-DHAVE_TAGLIB=1', '-DHAVE_YAML=1', '-DHAVE_FFTW=1', '-DHAVE_LIBCHROMAPRINT=1', '-DHAVE_GAIA2=1', '-DHAVE_TENSORFLOW=1', '-D__STDC_CONSTANT_MACROS', '-DPYTHONDIR="/home/jeremiah/Downloads/workshop/beets/extractors/beta6/lib/python3.10/site-packages"', '-DPYTHONARCHDIR="/home/jeremiah/Downloads/workshop/beets/extractors/beta6/lib/python3.10/site-packages"', '-DHAVE_PYEXT=1', '-DHAVE_PYTHON_H=1', '-DEIGEN_MPL2_ONLY', '../src/algorithms/io/audioloader.cpp', '-c', '-o/home/jeremiah/Downloads/workshop/vcs/essentia/build/src/algorithms/io/audioloader.cpp.1.o', '-fPIC']
  File '/home/jeremiah/Downloads/workshop/vcs/essentia/waf', line 168, in <module>
	Scripting.waf_entry_point(cwd, VERSION, wafdir)
  File '/home/jeremiah/Downloads/workshop/vcs/essentia/.waf3-2.0.22-1241519b19b496207abef1f72bbf61c2/waflib/Scripting.py', line 131, in waf_entry_point
	Logs.error(e.msg)

ffmpeg_git_version_info.log
config.log
essentia_git_build_output.log
essentia_git_configure_output.log

@dbogdanov
Copy link
Member

Closing this, as it is covered by #1248.

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

No branches or pull requests

2 participants