Trying to build the minizip utility from contrib/minizip after an
autoreconf -f:
libtool: link: gcc -g -O2 -o minizip minizip.o
minizip.o: In function `getFileCrc':
/tmp/zlib/contrib/minizip/minizip.c:211: undefined reference to `crc32'
minizip.o: In function `main':
/tmp/zlib/contrib/minizip/minizip.c:378: undefined reference to `zipOpen64'
/tmp/zlib/contrib/minizip/minizip.c:451: undefined reference to `zipOpenNewFileInZip3_64'
/tmp/zlib/contrib/minizip/minizip.c:502: undefined reference to `zipCloseFileInZip'
/tmp/zlib/contrib/minizip/minizip.c:509: undefined reference to `zipClose'
/tmp/zlib/contrib/minizip/minizip.c:485: undefined reference to `zipWriteInFileInZip'
collect2: error: ld returned 1 exit status
The cause: contrib/minizip/Makefile.am does not specify that minizip
needs to be linked to libminizip. With some linkers (e.g., GNU
binutils without --copy-dt-needed-entries), an indirect dependency
cannot be used to resolve symbols, so link to libz for crc32(), too.
Trying to build miniunzip utility from contrib/minizip after an
autoreconf -f produces
[...]
In file included from minizip.c:61:0:
zip.h:50:18: fatal error: zlib.h: No such file or directory
unless zlib is already installed. Use AM_CFLAGS to set the include
path and library path to point to the just-build copy of zlib to
fix this. (This was already done for libminizip but not the binaries
that use it before this patch.)