Date: Mon, 24 Apr 2006 15:26:07 +0100 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: Ian Moore <no-spam@swiftdsl.com.au> Cc: freebsd-questions@freebsd.org Subject: Re: A portupgrade question Message-ID: <444CDFFF.5020401@infracaninophile.co.uk> In-Reply-To: <200604242043.25020.no-spam@swiftdsl.com.au> References: <200604242043.25020.no-spam@swiftdsl.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig552CC1EF3799985565A580EC Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Ian Moore wrote: > Hi, I've got a question about portupgrade and something that's happened= with=20 > it a couple of times now. The last 2 times libgda has been upgraded, I'= ve run=20 > portupgrade -a to upgrade a bunch of ports, including libgda. >=20 > The libgda upgrade has caused a re-install of mysql-client-4, but when= =20 > portupgrade has tried to install mysql-client, it's failed because=20 > mysql-client is already installed. >=20 > The workaround for this is simple enough, delete mysql-client and then = run=20 > portupgrade again, but I'm wondering why this situation occurs - portup= grade=20 > should see that mysql-client is already installed and not try to instal= l it=20 > again (or if it needs upgrading, it should deinstall the old version an= d=20 > build & install the new version). >=20 > /etc/ports/UPDATING doesn't seem to help, there's no mention of either = port in=20 > it.=20 The reason the ports system can't detect that you've already got mysql-cl= ient software installed is because you haven't got libmysqlclient.so in your l= oader cache. Try this command -- you should get similar output: lack-of-gravitas:~:% ldconfig -r | grep mysqlclient 441:-lmysqlclient_r.14 =3D> /usr/local/lib/mysql/libmysqlclient_r= =2Eso.14 442:-lmysqlclient.14 =3D> /usr/local/lib/mysql/libmysqlclient.so.= 14 ldconfig(8) needs to be told to scan /usr/local/lib/mysql for shared libr= aries, as that's not one of the default directories. This is generally handled = through the ldconfig_compat port which installs precisely one file: sisyphus:~:% pkg_info -L ldconfig_compat-1.0_7=20 Information for ldconfig_compat-1.0_7: Files: //etc/rc.d/ldconfig_compat although you can also add /usr/local/lib/mysql to the set of stuff scanne= d by ldconfig by modifying variables in /etc/rc.conf (but that's the old and unfashionable way of doing this...). Re-installing that port and running= /etc/rc.d/ldconfig_compat start should sort out the problem you're seeing.=20 Note that mergemaster(1) will ask you to delete that file because it's in= /etc/rc.d and it's not one of the one installed by the system. You shou= ld resist the suggestion to do that, or put up with various MySQL (and certa= in other port) related things not working in the way you might expect. Note too: this is system version number dependant -- recent 6.1-STABLE or= above will have the ldconfig_compat script installed in /usr/local/etc/rc.d Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. Flat 3 7 Priory Courtyard PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate Kent, CT11 9PW, UK --------------enig552CC1EF3799985565A580EC Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFETOAE8Mjk52CukIwRA2YOAJ0fz8z4de937oodFINT9Avs/RBjSQCfa0bm wsvp0hiVqwsDjLqcJGfHLiU= =rIZd -----END PGP SIGNATURE----- --------------enig552CC1EF3799985565A580EC--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?444CDFFF.5020401>