Date: Fri, 7 Jan 2005 10:57:33 +0100 From: Anton Berezin <tobez@tobez.org> To: Bram Moolenaar <Bram@moolenaar.net> Cc: perl@FreeBSD.org Subject: Re: spamassassin and Perl 5.8 port broken Message-ID: <20050107095733.GC56677@heechee.tobez.org> In-Reply-To: <200501070947.j079lf8s016226@moolenaar.net> References: <20050106220254.GA31560@heechee.tobez.org> <200501070947.j079lf8s016226@moolenaar.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 07, 2005 at 10:47:41AM +0100, Bram Moolenaar wrote: > > Anton Berezin wrote: > > > On Thu, Jan 06, 2005 at 11:05:52PM +0100, Bram Moolenaar wrote: > > > > > > I'm running FreeBSD 4.9: > > > > > > FreeBSD masaka.moolenaar.net 4.9-RELEASE FreeBSD 4.9-RELEASE #2: Sat Oct 23 15:54:26 CEST 2004 mool@masaka.moolenaar.net:/usr/src/sys/compile/MASAKA i386 > > > > > > Trying to install the mail/p5-Mail-SpamAssassin port I get an error > > > message that perl 5.6.1 or higher should be installed: > > > > > > Needs perl 5.6.1 or higher, install lang/perl5.8 and try again > > > > > > But I do have perl 5.6.1! > > > > Did you use use.perl port with your 5.6.1? > > I don't remember how Perl got there. Probably from the package when I > installed the system. Or as a dependency for another port. I now use > the port to re-install it. > Oh, looking for where PERL_VERSION is set I found one obvious problem. > In /usr/ports/Mk/bsd.port.mk (around line 1174): > > .if ${OSVERSION} >= 300000 > PERL_VERSION?= 5.00503 > > It seems PERL_VERSION only depends on the OS version, it doesn't > actually check what Perl is installed. This is an obvious lack of > intelligence. > > When I change it to: > > .if ${OSVERSION} >= 300000 > #PERL_VERSION?= 5.00503 > PERL_VERSION?= 5.6.1 > > Then the spamassassin port continues as expected (with the usual hickups > that require manual tweaking). A dirty hack that gets me further. > Hopefully the new spamassassin works better, since the port system > doesn't allow for going back to an older version... Well, this is exactly the problem. When you install 5.6.1 from a package or a port, on 4.X systems it tells you to run /usr/local/bin/use.perl port afterwards (this is done automatically on 5.X systems). One of the things that little script does is to override PERL_VERSION settings used by the ports collection (it does that by modifying /etc/make.conf). So if you did not perform this step, all perl-related ports in the ports collection will continue to operate with the default system perl, as opposed to the perl in /usr/local/bin, even though /usr/local/bin/perl works fine for your own scripts with #!/usr/local/bin/perl as opposed to #!/usr/bin/perl shebang. \Anton. -- The moronity of the universe is a monotonically increasing function. -- Jarkko Hietaniemi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050107095733.GC56677>