Bug #22003 ld multiple definitions of symbol error libmysqlclient.a(ssl.o)
Submitted: 4 Sep 2006 17:18 Modified: 5 Sep 2006 12:23
Reporter: Martin Mueller Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server Severity:S1 (Critical)
Version:5.0.24a OS:MacOS (Mac OS 10.4.7 INTEL)
Assigned to: CPU Architecture:Any
Tags: ld, libmysqlclient, mac, multiple definitions, symbol

[4 Sep 2006 17:18] Martin Mueller
Description:
When compiling a programm that uses the libmysqlclient.a(ssl.o) library on Mac OS 10.4 I get a ld error.
/usr/bin/ld: warning multiple definitions of symbol 
_TLSv1_client_method
/usr/local/mysql/lib/libmysqlclient.a(ssl.o) definition of 
_TLSv1_client_method in section (__TEXT,__text)
/usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../libssl.dylib
(t1_clnt.o) definition of _TLSv1_client_method
/usr/bin/ld: multiple definitions of symbol _CRYPTO_add_lock
/usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../
libcrypto.dylib(cryptlib.o) definition of _CRYPTO_add_lock
/usr/local/mysql/lib/libmysqlclient.a(libtaocrypt_la-misc.o) 
definition of _CRYPTO_add_lock in section (__TEXT,__text)
/usr/bin/ld: multiple definitions of symbol _CRYPTO_lock
/usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../
libcrypto.dylib(cryptlib.o) definition of _CRYPTO_lock
/usr/local/mysql/lib/libmysqlclient.a(libtaocrypt_la-misc.o) 
definition of _CRYPTO_lock in section (__TEXT,__text)
collect2: ld returned 1 exit status
make: *** [libs/libphp5.bundle] Error 1

How to repeat:
Get the latest binaray MySQL version for Mac OS 10.4 (INTEL) [e.g. mysql-standard-5.0.24a-osx10.4-i686.dmg] and install it.
Get latest PHP Source Code (or another project that uses MySQL librarys) and compile it.
[in my case it's PHP]]
./configure \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/etc \
--with-config-file-path=/etc \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-freetype-dir=/usr/local \
--with-jpeg-dir=/usr/local \
--with-png-dir=/usr/local \
--with-zlib-dir=/usr \
--enable-track-vars=yes \
--enable-sysvshm=yes \
--enable-sysvsem=yes \
--enable-ftp \
--enable-calendar \
--with-gd \
--with-openssl \
--with-pear
make

Suggested fix:
It seems like there is a conflict between the MySQL's SSL library and the openssl library...
[5 Sep 2006 12:23] Domas Mituzas
Duplicate of Bug#21930, which is already resolved (in 5.0.25)