Subject: Re: bug#45303: 28.0.50; [feature/native-comp] comp.c compilation error on Windows 10

From: Eli Zaretskii <[email-masked]>
Date: Fri, 18 Dec 2020 18:06:48 +0200

> Date: Fri, 18 Dec 2020 13:28:20 +0000
> Cc: [email-masked], =?UTF-8?Q?Li=C4=[email-masked]
> From: Andrea Corallo via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> >>  CCLD     temacs.exe
> >> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> comp.o: in function `md5_gz_stream':
> >> C:\msys64\home\VWinUser0\Downloads\emacs\native-comp\build\src/../../src/src/comp.c:713:
> >> undefined reference to `inflateInit2_'
> >> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> C:\msys64\home\VWinUser0\Downloads\emacs\native-comp\build\src/../../src/src/comp.c:730:
> >> undefined reference to `inflate'
> >
> > That's curious, looks you've not zlib but from the config.log you do...
> 
> I really would like to understand what's going on here.
> 
> We check in configure for zlib presence, actually this is also require
> by --with-nativecomp but somehow the linker fails to find it.

Why does the native-comp branch require zlib in comp.c? what does it
do with zlib?

On master, zlib is an optional library, and when some Emacs command is
invoked that needs it, on MS-Windows we load the zlib DLL at run time
when requested.  See init_zlib_functions in decompress.c.  This is
unlike on Posix systems, where Emacs is linked with zlib at link time.
Does this explain what is going on?