Bug 77662 - mysql RPM's do not provide a thread safe library
mysql RPM's do not provide a thread safe library
Product: Red Hat Enterprise Linux 2.1
Classification: Red Hat
Component: mysql (Show other bugs)
i686 Linux
medium Severity high
: ---
: ---
Assigned To: Patrick Macdonald
David Lawrence
: 85816 (view as bug list)
Depends On:
  Show dependency treegraph
Reported: 2002-11-11 12:09 EST by James Olin Oden
Modified: 2007-11-30 17:06 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2003-02-25 14:31:41 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description James Olin Oden 2002-11-11 12:09:28 EST
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0; Tekelec)

Description of problem:
The mysql RPM does not provide the thread safe version of the 
mysql client library:


I have searched through all the mysql RPM's using:

   rpm -ql (rpm_name) 

and have not found this.  Further more, if one links against the provided 
libmysqlclient.so and runs the function:


It returns false (i.e. that the mysql client linked against is not
thread safe).

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.  Create the following program:
        #include <stdio.h>
        #include <stdlib.h>

        main() {
                printf("mysql_thread_safe  %s\n", mysql_thread_safe
() ? "yes" : "no");

2.  Compile and link it against the libmysqlclient library:

   gcc msyqltest.c -L/usr/lib/mysql -lmysqlclient -lz

3. Run the program.  

Actual Results:  The program output:

   mysql_thread_safe  no

Expected Results:  The program output:

   mysql_thread_safe  yes

If on the other hand you download the latest mysql RPM's from 
www.mysql.org, remove the RedHat ones and install the MySQL ones,
and then link against mysqlclient_r the result will be the expected


Additional info:
Comment 1 Patrick Macdonald 2003-02-04 14:37:34 EST
This is an enhancement request that we'll look into.  At the moment, we ship
the normal mysqlclient library, not the thread safe one.  The reason why your
test is failing is that you are linking to the non thread safe library.  The
results of your test (ie, mysql_thread_safe no) was the correct output.

To create the thread safe client library, one must configure the build with
--enable-thread-safe-client, which will produce the libmysqlclient_r library.
Comment 2 James Olin Oden 2003-02-05 08:43:34 EST
The reason I was linking to the non-thread-safe client library is a thread safe 
client library is not provided by the RedHat RPM.  The description of the 
bug points this out:

   mysql RPM's do not provide a thread safe client library

This probably meant that I understood there was no thread 
safe client library provided in the first place.
Comment 3 Patrick Macdonald 2003-02-05 09:36:32 EST
And all I was stating was that you listed "Expect Results: mysql_thread_safe
which is not what you should be expecting when linking against libmysqlclient.
Anyway, we're looking at it now.
Comment 4 Patrick Macdonald 2003-02-05 09:42:18 EST
Interesting... Netscape ate the summary line.  Replacing
Comment 5 Patrick Macdonald 2003-02-25 14:31:41 EST
This has been fixed.  The thread safe client is now being built and the
provided test case performs correctly.
Comment 6 Patrick Macdonald 2003-03-10 11:31:34 EST
*** Bug 85816 has been marked as a duplicate of this bug. ***
Comment 7 Mark J. Cox 2003-04-28 08:52:49 EDT
An errata has been issued which should help the problem described in this bug report. 
This report is therefore being closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files, please follow the link below. You may reopen 
this bug report if the solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.