[FFmpeg-devel] [PATCH 1/5] configure: remove build-time check for gzip support in zlib

Ramiro Polla ramiro.polla at gmail.com
Tue May 27 20:55:40 EEST 2025


Hi Timo,

On Tue, May 27, 2025 at 3:19 PM Timo Rothenpieler <timo at rothenpieler.org> wrote:
> On 27.05.2025 03:33, Ramiro Polla wrote:
> > We currently test at build-time whether zlib supports decoding gzip.
> > This is not needed for the build to succeed, since only the gzip
> > command is necessary to perform compression at build-time.
> >
> > Presumably this check will help the user by not enabling compression at
> > build-time if their system won't be able to decompress at runtime.
> >
> > But there are no guarantees that the system where the build is made is
> > the same system where it will run. The build system could support gzip
> > in zlib, but not the system at runtime, or the other way around.
> >
> > Realistically, the chances of there being a system where zlib does not
> > support gzip are very slim. It is safe to assume that zlib will support
> > gzip.
> >
> > This commit changes the dependency for support of compressed resources
> > and ptx files to normal zlib support, and the existence of the gzip
> > command.
> > ---
> >   configure | 13 ++-----------
> >   1 file changed, 2 insertions(+), 11 deletions(-)
> >
> > diff --git a/configure b/configure
> > index 3730b0524c..79c4fcf327 100755
> > --- a/configure
> > +++ b/configure
> > @@ -2548,7 +2548,6 @@ HAVE_LIST="
> >       posix_ioctl
> >       texi2html
> >       xmllint
> > -    zlib_gzip
> >       openvino2
> >   "
> >
> > @@ -6895,19 +6894,11 @@ enabled  zlib && { check_pkg_config zlib zlib "zlib.h" zlibVersion ||
> >   enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion    -lbz2
> >   enabled  lzma && check_lib lzma   lzma.h lzma_version_number -llzma
> >
> > -enabled zlib && test_exec $zlib_extralibs <<EOF && enable zlib_gzip
> > -#include <zlib.h>
> > -int main(void) {
> > -    if (zlibCompileFlags() & (1 << 17)) return 1;
> > -    return 0;
> > -}
> > -EOF
> > -
> >   [ -x "$(command -v gzip)" ] && enable gzip
> >
> > -enabled zlib_gzip && enabled gzip || disable ptx_compression
> > +enabled zlib && enabled gzip || disable ptx_compression
> >
> > -enabled zlib_gzip && enabled gzip || disable resource_compression
> > +enabled zlib && enabled gzip || disable resource_compression
> >
> >   # On some systems dynamic loading requires no extra linker flags
> >   check_lib libdl dlfcn.h "dlopen dlsym" || check_lib libdl dlfcn.h "dlopen dlsym" -ldl
>
> I don't see why this should be removed.
> It does not hurt in any way, and can prevent bad surprises for people
> building in odd environments where zlib for some reason does not support
> this.
>
> Chances are high that if the build env doesn't support it, neither will
> the intended runtime env.

We don’t perform build-time runtime checks for any other functionality.

Are there any examples of systems where this has been a problem in practice?

Unless we can find any real world use case where this test makes a
difference, I don't see why we should keep it. In this case, less is
better.

Ramiro


More information about the ffmpeg-devel mailing list