Date: Wed, 9 Jun 2004 12:44:06 +0100 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: Robert Fitzpatrick <robert@webtent.com> Cc: FreeBSD <freebsd-questions@freebsd.org> Subject: Re: Building Perl with shared lib libperl Message-ID: <20040609114406.GD12520@happy-idiot-talk.infracaninophile.co.uk> In-Reply-To: <1086748276.2295.9.camel@columbus> References: <1086748276.2295.9.camel@columbus>
next in thread | previous in thread | raw e-mail | index | archive | help
--iVCmgExH7+hIHJ1A Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jun 08, 2004 at 10:31:16PM -0400, Robert Fitzpatrick wrote: > Trying to install a procedural language in PostgreSQL 7.4.2, pl/perl, > but it complains that my 'libperl is not a shared library' and that I > may need to rebuild my Perl. I am using Perl 5.6.1, is there a way to > set this option when using the port /usr/ports/lang/perl5? Not with the land/perl5 port. However, a shared libperl.so is built by default for the lang/perl5.8 port -- recommend you update to that. Since lang/perl5 is nolonger the default version to install in FreeBSD-5.x I'm not entirely sure why the lang/perl5 port is still stuck at perl-5.6.1. That's a pretty ancient version now, and perl.org recommends 5.8.4 as the standard version everyone should run. Note that if you upgrade from perl-5.6.1 to perl-5.8.4 you will need to re-install any perl modules so that perl-5.8.4 can find them, and you will need to re-install various automake ports that invoke perl5.x.y specifically. See /usr/ports/UPDATING for some brief instructions, but the procedure is generally something like this: # find /usr/local/lib/perl5/{5.6.1,site_perl/5.6.1} -type -f -print0 | \ xargs -0 -n 1 pkg_which | sort -u > /tmp/perl-modules # portupgrade -o lang/perl5.8 -f lang/perl5 # use.perl port # vi /tmp/perl-modules=20 (Edit the list of modules for sanity: take out the explicit references to perl-5.6.1 and the '?', and various lines where 'pkg_which' thinks the file belongs to more than one port. You can (but this is not mandatory) also remove ports which are supplied both as standalone and that are bundled by default with perl but remember to pkg_delete anything you aren't going to re-install) # xargs portupgrade -f < /tmp/perl-modules which will churn away for quite some time. Eventually you should end up with /usr/local/lib/perl5/5.6.1 and /usr/local/lib/perl5/site_perl/5.6.1 both being pretty much empty, and with most of their contents transferred to the corresponding 5.8.4 directories. If everything has gone according to plan, the 5.6.1 directories will be redundant and can be deleted. Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks Savill Way PGP: http://www.infracaninophile.co.uk/pgpkey Marlow Tel: +44 1628 476614 Bucks., SL7 1TH UK --iVCmgExH7+hIHJ1A Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFAxvgGiD657aJF7eIRArruAKCI5geDw+f0glJH5Sef5GZGakjOqACgtUmr xdsK/TpprgX4dhPMMNATyhM= =HePn -----END PGP SIGNATURE----- --iVCmgExH7+hIHJ1A--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040609114406.GD12520>