[debian-mysql] Bug#450535: Linking libxxx.so to libxxx_r.so? dpkg-shlibdep doesn't like it...

Christian Hammers ch at debian.org
Wed Jul 8 21:40:41 UTC 2009


Hello

Am Wed, 8 Jul 2009 15:57:02 +0200
schrieb Pierre Habouzit <madcoder at madism.org>:

> On Wed, Jul 08, 2009 at 03:53:58PM +0200, Pierre Habouzit wrote:
> > On Sun, Jul 05, 2009 at 11:01:21PM +0200, Christian Hammers wrote:
> > > Hello
> > > 
> > > To help packages like Apache which have some parts like libaprutil
> > > that wants to link against libmysqlclient16_r.so and some like PHP
> > > that wants to link against libmysqlcient.so, it was proposed that
> > > libmysqlclient.so should be made a symlink pointing to the thread
> > > safe *_r.so version.
...
> This is poorly worded, you can do what you want, but it means that you
> will break binary compatibility with other distributions. By bumping
> the soname, you ensure that nothing will break with this change, so
> Debian-wise it's probably fine.

The missing symbol he was talking about is from libmysql/my_static.c

 #ifndef THREAD
 int             NEAR my_errno=0;
 #endif

and makes perfectly sense to be unavailable in a threaded context.

So that leaves us with

a) simply uncomment it (I'm totally against making such changes to
   upstream code)

b) ask MySQL to uncomment it (I have my doubts that this would happen
   in time if at all)

c) ask MySQL to put a different symbol to the thread-safe library (here
   I doubt that they will do that as MySQL-5.1 is stable and they would
   break existing installations themselves)

d) introduce a Debian specific library symbols to the thread-safe
   library which breaks cross-distro binary compatibility

e) convince all projects to link against the thread-safe library. That
   could imply that we have to convince upstream authors to use a
   thread safe way of getting the error status (which obviously must
   exist, too) if they are currently using the global my_errno.

Any further ideas? I guess I would be in favour of e) because it follows
the maxim of changing as few upstream code as possible.

bye,

-christian-






More information about the pkg-mysql-maint mailing list