Bug #40364 mysql_config file always showes lmysqlclient_r
Submitted: 28 Oct 2008 1:52 Modified: 11 Sep 2018 13:06
Reporter: Aaron McMurray Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Server: Compiling Severity:S4 (Feature request)
Version:5.0.67 OS:Linux (Ubuntu 6.0.6.2)
Assigned to: CPU Architecture:Any

[28 Oct 2008 1:52] Aaron McMurray
Description:
When MySQl-5.0.67 is compiled and installed without the "--enable-thread-safe-client" tag the "mysql_config" file will always show "lmysqlclient_r" insted of "lmysqlclient" breaking some apps built against MySQL that will look for "lmysqlclient_r" first and see that "mysql_config" sayes its here but when building they fail

How to repeat:
Compile mysql without the "--enable-thread-safe-client" tag

Suggested fix:
Compile with the "--enable-thread-safe-client" tag
[28 Oct 2008 7:47] Sveta Smirnova
Thank you for the report.

I can not repeat described behavior:

$/users/ssmirnova/build/mysql-5.0/bin/mysql_config --libs
-rdynamic -L/users/ssmirnova/build/mysql-5.0/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm

Please indicate flags you use when call mysql_config
[28 Oct 2008 12:48] Aaron McMurray
./configure \
--prefix=/usr/local/mysql-5.0-test \
--localstatedir=/var/mysql-5.0-test/data \
--with-mysqld-user=mysql \
--with-zlib-dir=/usr \
--with-tcp-port=3306 \
--with-big-tables \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \
--with-extra-charsets=none \
--with-unix-socket-path=/var/local/mysql/mysql-5.0-test.socket \
--enable-assembler \
--disable-shared \
--enable-static \
--without-debug \
--with-innodb \
--without-bench \
--without-docs \
--without-extra-tools \
--without-ndb-debug \
--without-ndbcluster \
--without-ndb-test \
--without-ndb-docs \
--without-ndb-port \
--without-ndb-port-base \
--without-ndb-debug \
--with-example-storage-engine \
--with-csv-storage-engine \
--with-archive-storage-engine \
--with-blackhole-storage-engine \
--with-federated-storage-engine

make
make install

libs=" $ldflags -L$pkglibdir -lmysqlclient -L/usr/lib -lz -lcrypt -lnsl -lm "
and
libs_r=" $ldflags -L$pkglibdir -lmysqlclient_r -L/usr/lib -lz -lpthread -lcrypt -lnsl -lm  -lpthread   "

this tells an app lookink for lmysqlclient_r it exists when in fact it doesn't
[29 Oct 2008 7:31] Sveta Smirnova
Thank you for the feedback.

Got your point. Verified as feature request "Don't add libs_r option to mysql_config if MySQL compiled without --enable-thread-safe-client flag.
[11 Sep 2018 13:06] Dyre Tjeldvoll
Posted by developer:
 
Obsolete as the ability to build client libs non-thread-safe has been removed.