List:General Discussion« Previous MessageNext Message »
From:Michael Widenius Date:March 17 1999 12:11pm
Subject:libmysqlclient.a is broken
View as plain text  
>>>>> "Mike" == Mike McLagan <mmclagan@stripped> writes:

Mike> Hello.
Mike>    I finally resolved the problem I was having with mod_auth_mysql.  I was less 
Mike> than impressed with the lack of response from any quarter about the problem, 
Mike> but I continued to see what I could find.  It comes down to something being 
Mike> broken in libmysqlclient.a.

Mike>    Using the RPMs for devel and client for 3.21.32a from tcx, I was able to 
Mike> build a mod_auth_mysql without needing to include -lgcc.  This loaded up into 
Mike> apache, accessed the database, authenticated users and allowed mod_perl to 
Mike> continue to function.

Mike>    Using 3.22.8-beta, I got a failure to load the mod_auth_mysql because of a 
Mike> missing 'lstat'.  I don't understand this, but it's not relevant other than I 
Mike> wasn't able to track down which specific version of libmysqlclient starts 
Mike> failing.

Mike>    Using 3.22.16 -> 3.22.20 I have to include -lgcc to get the thing to link 
Mike> and load into the server.  However, once it's loaded it screws up Apache to the 
Mike> point that calls to mod_perl cause the server to segfault within libperl.a.  
Mike> The reason that -lgcc needs to be specified is that '__ucmpdi2' comes up as an 
Mike> undefined symbol without it.

Mike>    I don't know where in the libmysqlclient.a code that is referenced, or what 
Mike> is referenced in the lib that references something that contains that little 
Mike> gem, but once you compile mod_auth_mysql it appears.

Mike>    RedHat 5.1, glibc-2.0.7, apache-1.3.4, gcc 2.7.2.3.  

Mike>    Mike was here...

Hi!

In the old distributed binary libmysqlclient.a file, we included the used
libgcc.a library to get less problems.  With RPM:s we don't do this
and this could be the source for your problem.

Have you compiled apache with the same compiler you compiled Apache?
What kind of MySQL distribution are you using.
Are you linking with libmysqlclinet.so or libmysqlclient.a ?

Which glibc version are you using?  The one that should work is:
shell> rpm -q glibc
glibc-2.0.7-29

If you are using binary RPM:s, one way out is to use source RPM:s for
MySQL and Apache.

Regards,
Monty
Thread
libmysqlclient.a is brokenMike McLagan17 Mar
  • libmysqlclient.a is brokenMichael Widenius17 Mar
    • Re: libmysqlclient.a is brokenMike McLagan17 Mar
      • Re: libmysqlclient.a is brokenMichael Widenius18 Mar
        • Re: libmysqlclient.a is brokenMichael Hall18 Mar
    • Re: libmysqlclient.a is brokenMike McLagan17 Mar