Nick Kew wrote: > 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 > ...
> 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? > That sounds good to this naive observer. I dug up snippets of Debian discussions about this and other solutions. I don't know what they settled on. As Sriram mentioned, I opened CRs on the issue a few days back for OpenSolaris as well as web stack on Solaris 10/RHEL 5. They're initially targeted at PHP, though that could change if the MySQL folks are able to implement a global solution. OpenLDAP has the same type of issue; AFAICT, the OpenLDAP folks haven't jumped in to help straighten out the application-layer mess (e.g., by condoning a particular solution and considering it in future changes, or going further to support a configure option to suppress building a separate libldap-2.4.so, or using different symbol versioning for libldap-2.4.so vs. libldap_r-2.4.so, or anything else).