From 81015585d27875e250bdb8f375f2dd999e31a73f Mon Sep 17 00:00:00 2001 From: Jonathan Nieder Date: Tue, 17 Jan 2012 14:28:30 -0600 Subject: [PATCH] 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. --- contrib/minizip/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/minizip/Makefile.am b/contrib/minizip/Makefile.am index 8f0459b..91258db 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 -- 2.7.4