GNOME Bugzilla – Bug 758875
make failure: 'AV_CODEC_CAP_VARIABLE_FRAME_SIZE' undeclared
Last modified: 2015-12-10 17:25:16 UTC
A similar problem to one I reported earlier (Bug 758482), I hope this one is resolved just as quickly! I'm attempting to build GEGL from the git master on Linux Mint Debian, but it fails: ff-save.c: In function 'write_audio_frame': ff-save.c:422:34: error: 'AV_CODEC_CAP_VARIABLE_FRAME_SIZE' undeclared (first use in this function) if (!(c->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE)) FYI, my version of libavcodec... $ pkg-config libavcodec --modversion 56.26.100
Hi! The problem is that GEGL requires a more recent version of ffmpeg/libavcodec but its configure script is not up to date with version checks; precisely AV_CODEC_CAP_VARIABLE_FRAME_SIZE was introduced in ffmpeg commit def97856d [1] where libavcodec is at version 56.34.1 already. The first upstream release of ffmpeg including that commit is 2.8. So I would like to ask to replace m4_define([libavcodec_required_version], [56.0.0]) in configurea.ac [2] by m4_define([libavcodec_required_version], [56.34.1]) or higher. My guess is that libavformat and libswscale dependencies need a bump too. What configure is currently asking for seems to map to releases like this: -------------------+------------------------------------------ requirement | provider -------------------+---------------------+-------------------- part version | libav | ffmpeg -------------------+---------------------+-------------------- | commit release | commit release -------------------+---------------------+-------------------- avformat 56.0.0 | 1985c2e7 v11 | 1985c2e7 n2.4 avcodec 56.0.0 | 1985c2e7 v11 | 1985c2e75 n2.4 swscale 3.1.0 | e88103a7 -- | 61af6beb n2.5 -------------------+---------------------+-------------------- Can you include something like "ffmpeg/libav configure checks out of sync" in the title of this ticket? Thanks and best, Sebastian [1] https://github.com/FFmpeg/FFmpeg/commit/def97856de6021965db86c25a732d78689bd6bb0 [2] https://git.gnome.org/browse/gegl/tree/configure.ac#n65
I've pushed this, the other versions should probably be bumped as well - but since they are distributed together it probably alerts in most relevant cases. commit c842f4e304bc70198ea03f3803dd28aba262607c Author: Øyvind Kolås <pippin@gimp.org> Date: Wed Dec 9 10:05:58 2015 +0000 configure.ac: update ffmpeg dependency versions diff --git a/configure.ac b/configure.ac index ea7b3f3..3ac8904 100644 --- a/configure.ac +++ b/configure.ac @@ -62,7 +62,7 @@ m4_define([pygobject2_required_version], [2.26]) m4_define([pygobject3_required_version], [3.2]) m4_define([vapigen_required_version], [0.20.0]) m4_define([libavformat_required_version], [56.0.0]) -m4_define([libavcodec_required_version], [56.0.0]) +m4_define([libavcodec_required_version], [56.34.1]) m4_define([libswscale_required_version], [3.1.0]) AC_INIT(gegl, gegl_major_version.gegl_minor_version.gegl_micro_version) @@ -1029,7 +1029,7 @@ AC_ARG_WITH(libavformat, [ --without-libavformat build without libavformat s if test "x$with_libavformat" != xno; then PKG_CHECK_MODULES(AVFORMAT, libavformat >= libavformat_required_version libavcodec >= libavcodec_required_version libswscale >= libswscale_required_version, have_libavformat="yes", - have_libavformat="no (libavformat not found)") + have_libavformat="no (sufficiently new libavformat / libavcodec or libswcale not found)") # verify the presence of the avformat.h header if test "x$have_libavformat" = "xyes"; then gegl_save_CPPFLAGS=$CPPFLAGS
Thanks everyone. I've now been able to build without issues.
resolving as notabug