After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 758875 - make failure: 'AV_CODEC_CAP_VARIABLE_FRAME_SIZE' undeclared
make failure: 'AV_CODEC_CAP_VARIABLE_FRAME_SIZE' undeclared
Status: RESOLVED NOTABUG
Product: GEGL
Classification: Other
Component: build
git master
Other Linux
: Normal normal
: ---
Assigned To: Default Gegl Component Owner
Default Gegl Component Owner
Depends on:
Blocks:
 
 
Reported: 2015-11-30 23:21 UTC by John
Modified: 2015-12-10 17:25 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description John 2015-11-30 23:21:56 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
Comment 1 Sebastian Pipping 2015-12-08 21:46:15 UTC
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
Comment 2 Øyvind Kolås (pippin) 2015-12-09 10:12:07 UTC
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
Comment 3 John 2015-12-10 16:47:53 UTC
Thanks everyone.  I've now been able to build without issues.
Comment 4 Øyvind Kolås (pippin) 2015-12-10 17:25:16 UTC
resolving as notabug