Date: Thu, 17 Dec 2009 04:09:26 +0100 From: Raphael Becker <rabe@uugrn.org> To: David N <davidn04@gmail.com>, ports@freebsd.org Subject: Re: FreeBSD Port: php5-mhash-5.2.11_1 Message-ID: <20091217030926.GC88894@ma.sigsys.de> In-Reply-To: <4d7dd86f0912161806i5100ca6cn6663e1f26ba425b5@mail.gmail.com> References: <27485796-553F-4396-84A8-11F88968F3C9@niftywerks.com> <20091217015358.GB88894@ma.sigsys.de> <4d7dd86f0912161806i5100ca6cn6663e1f26ba425b5@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--qjNfmADvan18RZcF Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello David, On Thu, Dec 17, 2009 at 01:06:28PM +1100, David N wrote: > Thats a long list of extensions, >=20 > try adding one of them to the end of extensions.ini one by one. > The ordering of it matters, you need to re-arrange the order in which > the extensions are loaded. You may need to play around with it until > it stops core dumping. I re-enabled at the end of extensions.ini: extension=3Dmysqli.so extension=3Dpdo_mysql.so extension=3Dcurl.so extension=3Dimap.so extension=3Dldap.so extension=3Dftp.so extension=3Dopenssl.so I wasn't still able to find a working location for=20 extension=3Dmhash.so =2E.. coredumps regardless of any position in extensions.ini, from top to bottom.=20 It's - again - kind of noticeable that all of this "complicated" modules=20 are linkend against openssl: =20 [root@freebsd /usr/local/lib/php/20060613]# for SO in ./*.so ; do=20 if ldd $SO | grep -i ssl >/dev/null; then echo $SO; fi ; done =2E/curl.so =2E/ftp.so =2E/imap.so =2E/ldap.so =2E/mysql.so =2E/mysqli.so =2E/openssl.so =2E/pdo_mysql.so =2E.. hmm, ./mysql.so was inconspicuous before *strange* Lets have a closer look on all modules depending on *ssl*: [root@freebsd /usr/local/lib/php/20060613]# for SO in ./*.so ; do=20 if ldd $SO | grep -i ssl >/dev/null; t en echo $SO; fi ; done |=20 xargs ldd --------------------------------------------------- =2E/curl.so: libcurl.so.5 =3D> /usr/local/lib/libcurl.so.5 (0x68190000) libidn.so.16 =3D> /usr/local/lib/libidn.so.16 (0x68300000) libssh2.so.1 =3D> /usr/local/lib/libssh2.so.1 (0x681d9000) libssl.so.5 =3D> /usr/local/lib/libssl.so.5 (0x68330000) !!!! libcrypto.so.5 =3D> /usr/local/lib/libcrypto.so.5 (0x68374000) !!!! libz.so.4 =3D> /lib/libz.so.4 (0x684c4000) libc.so.7 =3D> /lib/libc.so.7 (0x68080000) libintl.so.8 =3D> /usr/local/lib/libintl.so.8 (0x684d6000) libiconv.so.3 =3D> /usr/local/lib/libiconv.so.3 (0x684df000) libthr.so.3 =3D> /lib/libthr.so.3 (0x685d5000) =2E/ftp.so: libssl.so.5 =3D> /usr/local/lib/libssl.so.5 (0x6818d000) !!!! libcrypto.so.5 =3D> /usr/local/lib/libcrypto.so.5 (0x68300000) !!!! libc.so.7 =3D> /lib/libc.so.7 (0x68080000) libz.so.4 =3D> /lib/libz.so.4 (0x681d1000) libthr.so.3 =3D> /lib/libthr.so.3 (0x681e3000) =2E/imap.so: libssl.so.5 =3D> /usr/local/lib/libssl.so.5 (0x68199000) !!!! libcrypto.so.5 =3D> /usr/local/lib/libcrypto.so.5 (0x68300000) !!!! libc-client4.so.9 =3D> /usr/local/lib/libc-client4.so.9 (0x68447000) libcrypt.so.4 =3D> /lib/libcrypt.so.4 (0x681dd000) libpam.so.4 =3D> /usr/lib/libpam.so.4 (0x681f6000) libc.so.7 =3D> /lib/libc.so.7 (0x68080000) libz.so.4 =3D> /lib/libz.so.4 (0x68548000) libthr.so.3 =3D> /lib/libthr.so.3 (0x6855a000) =2E/ldap.so: libldap-2.4.so.7 =3D> /usr/local/lib/libldap-2.4.so.7 (0x6818c000) liblber-2.4.so.7 =3D> /usr/local/lib/liblber-2.4.so.7 (0x681c6000) libc.so.7 =3D> /lib/libc.so.7 (0x68080000) libssl.so.5 =3D> /usr/local/lib/libssl.so.5 (0x68300000) !!!! libcrypto.so.5 =3D> /usr/local/lib/libcrypto.so.5 (0x68344000) !!!! libz.so.4 =3D> /lib/libz.so.4 (0x681d2000) libthr.so.3 =3D> /lib/libthr.so.3 (0x6848b000) =2E/mysql.so: (***) libmysqlclient.so.15 =3D> /usr/local/lib/mysql/libmysqlclient.so.15= (0x6818d000) libc.so.7 =3D> /lib/libc.so.7 (0x68080000) libcrypt.so.4 =3D> /lib/libcrypt.so.4 (0x68300000) libm.so.5 =3D> /lib/libm.so.5 (0x68319000) libssl.so.5 =3D> /usr/lib/libssl.so.5 (0x6832e000) !!!! libcrypto.so.5 =3D> /lib/libcrypto.so.5 (0x6836f000) !!!! libz.so.4 =3D> /lib/libz.so.4 (0x684c8000) =2E/mysqli.so: libmysqlclient.so.15 =3D> /usr/local/lib/mysql/libmysqlclient.so.15= (0x6819a000) libz.so.4 =3D> /lib/libz.so.4 (0x68300000) libcrypt.so.4 =3D> /lib/libcrypt.so.4 (0x68312000) libm.so.5 =3D> /lib/libm.so.5 (0x6832b000) libssl.so.5 =3D> /usr/local/lib/libssl.so.5 (0x68340000) !!!! libcrypto.so.5 =3D> /usr/local/lib/libcrypto.so.5 (0x6838d000) !!!! libc.so.7 =3D> /lib/libc.so.7 (0x68080000) libthr.so.3 =3D> /lib/libthr.so.3 (0x684d4000) =2E/openssl.so: libssl.so.5 =3D> /usr/local/lib/libssl.so.5 (0x68196000) !!!! libcrypto.so.5 =3D> /usr/local/lib/libcrypto.so.5 (0x68300000) !!!! libc.so.7 =3D> /lib/libc.so.7 (0x68080000) libz.so.4 =3D> /lib/libz.so.4 (0x681da000) libthr.so.3 =3D> /lib/libthr.so.3 (0x68447000) =2E/pdo_mysql.so: libmysqlclient.so.15 =3D> /usr/local/lib/mysql/libmysqlclient.so.15= (0x68189000) libz.so.4 =3D> /lib/libz.so.4 (0x681ea000) libcrypt.so.4 =3D> /lib/libcrypt.so.4 (0x68300000) libm.so.5 =3D> /lib/libm.so.5 (0x68319000) libssl.so.5 =3D> /usr/local/lib/libssl.so.5 (0x6832e000) !!!! libcrypto.so.5 =3D> /usr/local/lib/libcrypto.so.5 (0x6837b000) !!!! libc.so.7 =3D> /lib/libc.so.7 (0x68080000) libthr.so.3 =3D> /lib/libthr.so.3 (0x684c2000) --------------------------------------------------- All modules but mysql.so will load libssl.so.5 from /usr/local/lib/libssl.so.5, mysql.so is linked to=20 libssl.so.5 =3D> /usr/lib/libssl.so.5 This is kind of interesting!=20 If disable(!) ./mysql.so from extensions.ini, php will segfault again! So what seems to happen? libssl.so.5 get loaded by mysql.so and won't get loaded by one of the following modules, which are "hard-linked" to /usr/local/lib/libssl.so.5 Question: how does "mysql.so" link against another libssl.so.5 than "mysqli.so" would? Is this the RPATH-thing? Am I right with my assumption about mysql.so links to /usr/lib/libssl.so.5 and therefore any other module linking to libssl.so.5 won't link to /usr/local/lib/libssl.so.5 (because it's already provided/loaded by /usr/lib/libssl.so.5)? If so why does /usr/local/lib/libssl.so.5 segfault? mhash isn't explained here. This seems to be another strange thing. I'd appreciate any help and background information on this "libssl.so.5/libcrypto.so.5 - thing".=20 With best regards Raphael=20 --=20 Raphael Becker <rabe@uugrn.org> http://rabe.uugrn.org/ https://www.xing.com/profile/Raphael_Becker GnuPG: E7B2 1D66 3AF2 EDC7 9828 6D7A 9CDA 3E7B 10CA 9F2D =2E........|.........|.........|.........|.........|.........|.........|.. --qjNfmADvan18RZcF Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFLKaDmnNo+exDKny0RAnssAJ9sbnp3NM+wV6r2Fcy0hIK23yahIgCfWOGn 8wa0ULX8tYPnWvFi5DlAhHo= =J5v5 -----END PGP SIGNATURE----- --qjNfmADvan18RZcF--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091217030926.GC88894>