]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Add missing libs to minizip linker command.
authorJonathan Nieder <jrnieder@gmail.com>
Tue, 17 Jan 2012 20:28:30 +0000 (14:28 -0600)
committerMark Adler <madler@alumni.caltech.edu>
Sat, 21 Jan 2012 20:46:25 +0000 (12:46 -0800)
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

index 8f0459babf7a14a0d26bc9cbde79a114c4a6a20e..91258dbd47b68f77129559bf572f5e97c059ceea 100644 (file)
@@ -26,3 +26,4 @@ miniunzip_SOURCES = miniunz.c
 miniunzip_LDADD = libminizip.la
 
 minizip_SOURCES = minizip.c
+minizip_LDADD = libminizip.la -lz