Hi Nick ,

1 s none 
usr/mysql/5.0/lib/amd64/mysql/libmysqlclient_r.so=libmysqlclient_r.so.15.0.0
1 s none 
usr/mysql/5.0/lib/mysql/libmysqlclient_r.so=libmysqlclient_r.so.15.0.0

The libs are as follows
/usr/mysql/5.0/lib/amd64/mysql
bash-3.2$ ls -l
total 5902
lrwxrwxrwx 1 root root      24 Mar 17 01:08 libmysqlclient.so -> 
libmysqlclient.so.15.0.0
lrwxrwxrwx 1 root root      24 Mar 17 01:08 libmysqlclient.so.15 -> 
libmysqlclient.so.15.0.0
-r-xr-xr-x 1 root bin  2028784 Mar 17 05:32 libmysqlclient.so.15.0.0
lrwxrwxrwx 1 root root      26 Mar 17 01:08 libmysqlclient_r.so -> 
libmysqlclient_r.so.15.0.0
lrwxrwxrwx 1 root root      26 Mar 17 01:08 libmysqlclient_r.so.15 -> 
libmysqlclient_r.so.15.0.0
-r-xr-xr-x 1 root bin  2050328 Mar 17 05:32 libmysqlclient_r.so.15.0.0
lrwxrwxrwx 1 root root      21 Mar 17 01:08 libndbclient.so -> 
libndbclient.so.2.0.0
lrwxrwxrwx 1 root root      21 Mar 17 01:08 libndbclient.so.2 -> 
libndbclient.so.2.0.0
-r-xr-xr-x 1 root bin  1921936 Mar 17 05:32 libndbclient.so.2.0.0
bash-3.2$


We already have the symlinks  in place for MySQL .Perhaps components 
should use libmysqlclient_r.so and not use the version of the libs .
Is this what you are looking for ?

Thanks Sunanda


Nick Kew wrote:
> [apologies if this is duplicated - just sent it from the
> wrong address]
>
> It appears we have a systematic problem in webstack:
>
> $ ldd /usr/apr-util/1.3/lib/apr-util-1/apr_dbd_mysql.so
>  libmysqlclient_r.so.15 => 
> /usr/mysql/5.0/lib/mysql/libmysqlclient_r.so.15
>
> $ ldd /usr/php/5.2/modules/mysql.so
>  libmysqlclient.so.15 =>     
> /usr/mysql/5.0/lib/mysql/libmysqlclient.so.15
>
>
> Any one using both Apache's MySQL (through apr-util)
> and mysql through PHP's direct loading will be loading
> two separate libraries: libmysqlclient.so and
> libmysqlclient_r.so.  The symbols are all the same,
> the image is confused, and will segfault.
>
> To fix that, we should link the same mysql client libs
> in both APR-UTIL and PHP.  Since APU (and apache) support
> threads, that has to be the reentrant/thread-safe version
> libmysqlclient_r.so, which implies it's PHP that should
> change.
>
> To the best of my knowledge, such a change should be 100%
> safe, unless there are PHP applications that link directly
> to the wrong MySQL lib version causing the same problem to
> resurface elsewhere.  Anyone know if that's a risk?
>
> Possibly the best solution to this would be to fix the
> MySQL libs themselves.  Simply drop libmysqlclient.so,
> and substitute a symlink to libmysqlclient_r.so in the
> MySQL installation.  That way all apps get the
> threadsafe/reentrant version, and there is no conflict.
>
> Thoughts?
>


Reply via email to