From owner-freebsd-perl@FreeBSD.ORG Fri Jan 7 09:57:36 2005 Return-Path: Delivered-To: freebsd-perl@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1BAE516A4CE for ; Fri, 7 Jan 2005 09:57:36 +0000 (GMT) Received: from heechee.tobez.org (heechee.tobez.org [217.157.39.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B0B543D54 for ; Fri, 7 Jan 2005 09:57:35 +0000 (GMT) (envelope-from tobez@tobez.org) Received: by heechee.tobez.org (Postfix, from userid 1001) id A6C5E125465; Fri, 7 Jan 2005 10:57:33 +0100 (CET) Date: Fri, 7 Jan 2005 10:57:33 +0100 From: Anton Berezin To: Bram Moolenaar Message-ID: <20050107095733.GC56677@heechee.tobez.org> References: <20050106220254.GA31560@heechee.tobez.org> <200501070947.j079lf8s016226@moolenaar.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200501070947.j079lf8s016226@moolenaar.net> User-Agent: Mutt/1.4.2.1i cc: perl@FreeBSD.org Subject: Re: spamassassin and Perl 5.8 port broken X-BeenThere: freebsd-perl@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: maintainer of a number of perl-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Jan 2005 09:57:36 -0000 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