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

Ramiro Polla ramiro.polla at gmail.com
Fri May 30 14:10:45 EEST 2025


Hi Timo,

On Tue, May 27, 2025 at 7:55 PM Ramiro Polla <ramiro.polla at gmail.com> wrote:
> 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.

I'll postpone this part of the patchset (patches 1 to 3) for a while
to give more time for people to comment. If anybody can find a system
where zlib doesn't support gzip, please let us know.

Ramiro


More information about the ffmpeg-devel mailing list