← Back to team overview

maria-developers team mailing list archive

Re: compile issue and the -lz flag


Don Kehn <dekehn@xxxxxxxxx> writes:

> when compiling on x64 systems (i.e. CentOS & Fedora core 10) and using the
> BUILD/compile-pentium64-max, I'm getting the -lz error "/usr/bin/ld: cannot
> find -lz" and when I simplify the ./comfigure line to a --without-zlib it

Hm, could not reproduce this locally. This was using
BUILD/compile-pentium64-max on a 64-bit Ubuntu Hardy (amd64).

> works. So, after modifing the configure flags that results into:
> ./configure --prefix=/u02/local/mysql-5.1.34 --enable-assembler
> --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables
> --with-readline --with-ssl --with-plugins=max --with-embedded-server
> --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static
> --without-zlib --enable-local-infile
> It still has problems with the -lz flag, so does anybody know what is
> bringing the -lz into the configure?  Note: I've also tried
> --with-zlibdir=/usr/lib64, but same error.

As far as I can tell, there is no --with-zlib, --without-zlib, or
--with-zlibdir option in ./configure. The correct name of the option seems to
be --with-zlib-dir. Just that ./configure has this 'nice' habbit of ignoring
unknown options :-(.

So probably you can get it to compile using --with-zlib-dir=bundled.

However, by default (no --with-zlib-dir) option it should use the system libz
if available, and fall back to bundled if not, as far as I can tell from
sources. So it's strange that it failed for you.

Can you show exact link error message? Maybe you have a broken or incompatible
version of libz on your system? Do you have a zlib-dev package installed?

 - Kristian.

Follow ups