[Zlib-devel] [PATCH 2/3] Add missing libs to minizip linker command

Jonathan Nieder jrnieder at gmail.com
Tue Jan 17 15:28:30 EST 2012


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 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/contrib/minizip/Makefile.am b/contrib/minizip/Makefile.am
index 8f0459ba..91258dbd 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
-- 
1.7.9.rc1





More information about the Zlib-devel mailing list