[Libav-user] Dropped constants causing bug in GEGL

Stefano Sabatini stefano.sabatini-lala at poste.it
Tue Aug 9 13:32:26 CEST 2011

On date Sunday 2011-08-07 16:14:10 +0200, Marcel Korpel encoded:
> Hi,
> Just to give this bug report [1] a swing, I want to point you to a
> problem because the API got changed. Due to the removal of specific
> error constants, I cannot compile GEGL anymore. Output of make of the
> current GEGL commit (d5c1e4dd020da713e9b3ba6764e579f5f4ebb07f) reads:
> ff-load.c: In function 'print_error':
> ff-load.c:72:10: error: 'AVERROR_NUMEXPECTED' undeclared (first use in
> this function)
> ff-load.c:72:10: note: each undeclared identifier is reported only
> once for each function it appears in
> ff-load.c:82:10: error: 'AVERROR_NOFMT' undeclared (first use in this function)
> ff-load.c: In function 'prepare':
> ff-load.c:281:32: error: 'CODEC_TYPE_VIDEO' undeclared (first use in
> this function)
> make[3]: *** [ff_load_la-ff-load.lo] Error 1
> make[3]: *** Waiting for unfinished jobs....
> ppm-load.c: In function 'ppm_load_read_header':
> ppm-load.c:60:12: warning: variable 'retval' set but not used
> [-Wunused-but-set-variable]
> ppm-load.c: In function 'ppm_load_read_image':
> ppm-load.c:120:13: warning: variable 'retval' set but not used
> [-Wunused-but-set-variable]
> make[3]: Leaving directory
> `/home/mk/aur/gegl-git/src/gegl-build/operations/external'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/home/mk/aur/gegl-git/src/gegl-build/operations'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/mk/aur/gegl-git/src/gegl-build'
> make: *** [all] Error 2
> As of April 21, several of these constants have been removed from
> error.h [2]. Did I correctly report a bug in GEGL (because it relies
> on constants being available that have been dropped from your API) or
> should these constants still be available? Or shouldn't GEGL use these
> constants at all? I'm asking that, because I wonder if there are any
> other programs that rely on them.

Yes API was bumped, that means that backward compatibility can't be
assumed, and we don't support it anymore in master.

So you have either to update gegl sources (should be rather trivial,
just replace CODEC_TYPE_* -> AVMEDIA_TYPE_*, don't use AVERROR_
dropped symbols), *or* force a dependency on older versions (libav* <=

More information about the Libav-user mailing list