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

Mike> On Wed, 17 Mar 1999 14:11:40 +0200 (EET), Michael Widenius wrote:
>> 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.

Mike> I should never have to specify libgcc.a to link something.  That seems somewhat 
Mike> absurd that I would have to manually include the compilers helper library into 
Mike> a program I just finished building.

Mike> Even if you did include it in the previous version, it shouldn't need to be 
Mike> there.

The above is only true if all your programs are compiled with the same 
compiler.  With RPM:s this isn't always the case!

Sorry, but this is the disadvantage of using dynamic loadable modules.

Mike> The more important question is, why does the __ucmpdi2 symbol show up only with 
Mike> 3.22.XX builds of mod_auth_mysql ?

Can you check which file requires the above symbol:

For me:

(~) nm /usr/lib/mysql/libmysqlclient.a | grep ucmpdi2

Which should mean that this isn't a problem with the MySQL RPM !

Mike> Besides, when linked with libgcc.a and a 3.22.XX libmysqlclient Apache will 
Mike> segfault within libperl.a (called by mod_perl.so).  When linked with 3.21.32 
Mike> Apache is perfectly happy to let mod_auth_mysql and mod_perl co-exist.


Mike> FWIW, mysql-devel-3.21.32a-1.i386.rpm and mysql-client-3.21.32a-1.i386.rpm do 
Mike> not contain a private copy of libgcc.a  (I just redownlaoded and verified that 
Mike> neither contains the lib).

Sorry, but I don't know how the above two RPM:s are made.


>> Have you compiled apache with the same compiler you compiled Apache?

Mike> Yes.

>> What kind of MySQL distribution are you using.

Mike> 3.22.20a.src.rpm + mysql.index500.patch

Sounds ok.

>> Are you linking with libmysqlclinet.so or libmysqlclient.a ?

Mike> I'm using your RPM, your spec file, so no .so is generated.

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

Mike> 2.0.7-19 the latest for RH 5.1

glibc 2.0.7-29 works exellent also on RH 5.2

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

Mike> I have recompiled all of it on the machine in question.  Apache, MySQL, 
Mike> mod_perl, mod_auth_mysql.  About the only thing I haven't compiled is Perl but 
Mike> I see no need because it works otherwise.

This could still be a perl / glibc problem.  If everything else is
compiled with the same compiler, except perl, it's extremely likely
that this is the source of your problems.

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