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>
