From: Jonathan Nieder Date: Tue, 17 Jan 2012 20:28:30 +0000 (-0600) Subject: Add missing libs to minizip linker command. X-Git-Tag: v1.2.6~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81015585d27875e250bdb8f375f2dd999e31a73f;p=thirdparty%2Fzlib-ng.git Add missing libs to minizip linker command. 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. --- diff --git a/contrib/minizip/Makefile.am b/contrib/minizip/Makefile.am index 8f0459bab..91258dbd4 100644 --- a/contrib/minizip/Makefile.am +++ b/contrib/minizip/Makefile.am @@ -26,3 +26,4 @@ miniunzip_SOURCES = miniunz.c miniunzip_LDADD = libminizip.la minizip_SOURCES = minizip.c +minizip_LDADD = libminizip.la -lz