Re: Perl 5.8.2 problems (was Re: how to build Spamassassin)

2003-12-11 Thread paul beard
On Dec 10, 2003, at 8:34 PM, Tony Jones wrote:

At this point, /usr/local/perl/bin/perl is installed
why is it in /usr/local/perl/bin? As far as I have seen, the ports 
collection doesn't do that. did you install as a port (make install in 
/usr/ports/lang/perl5.8)?

What would happen if you were to use portinstall perl5.8 and 
portinstall spamassassin? You may need to install the portupgrade 
package if you haven't already done so.

--
Paul Beard
www.paulbeard.org/
paulbeard [at] mac.com
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Perl 5.8.2 problems (was Re: how to build Spamassassin)

2003-12-11 Thread Tony Jones

 why is it in /usr/local/perl/bin? As far as I have seen, the ports 
 collection doesn't do that. did you install as a port (make install in 
 /usr/ports/lang/perl5.8)?

Yes.  make install PREFIX=/usr/local/perl

Is that bad?  I like to have large packages installed into seperate
sub-directories in /usr/local rather than all competing for /usr/local/{bin,lib,
etc}. 

 What would happen if you were to use portinstall perl5.8 and 
 portinstall spamassassin? You may need to install the portupgrade 
 package if you haven't already done so.

I'm very unfamiliar with the ports system.  I've never heard of portinstall
or portupgrade.  

Just running make  make install in the appropriate port subdirectory.

Tony

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Perl 5.8.2 problems (was Re: how to build Spamassassin)

2003-12-11 Thread Tony Jones
 
  why is it in /usr/local/perl/bin? As far as I have seen, the ports 
  collection doesn't do that. did you install as a port (make install in 
  /usr/ports/lang/perl5.8)?
 
 Yes.  make install PREFIX=/usr/local/perl

I of course also did 'make PREFIX=/usr/local/perl' before doing the install.

Tony

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Perl 5.8.2 problems (was Re: how to build Spamassassin)

2003-12-11 Thread paul beard
On Dec 11, 2003, at 9:54 AM, Tony Jones wrote:

I'm very unfamiliar with the ports system.  I've never heard of 
portinstall
or portupgrade.

Just running make  make install in the appropriate port subdirectory.


It seems to me you're making this really complicated: I don't know what 
difference it makes where things get installed (/usr/local/{language}/ 
. . . ), but I have been using the ports collection as it comes without 
a problem. One of the benefits of using a system (like FreeBSD) is that 
there are some design conventions and decisions you can rely on.

My advice, and worth every penny you're paying, would be to use the 
ports system and become familiar with it before hacking around it. To 
that end, I would do, as root
cd /usr/ports/sysutils/portupgrade; make install and then use that to 
manage the rest of it with portinstall portname, in your case perl5.8 
and spamassassin. You may need to run use.perl port between those 
steps to ensure that spamassassin gets built against perl5.8 and 
doesn't complain about the wrong version.



--
Paul Beard
www.paulbeard.org/
paulbeard [at] mac.com
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Perl 5.8.2 problems (was Re: how to build Spamassassin)

2003-12-11 Thread Matthew Seaman
On Thu, Dec 11, 2003 at 09:56:27AM -0800, Tony Jones wrote:
  
   why is it in /usr/local/perl/bin? As far as I have seen, the ports 
   collection doesn't do that. did you install as a port (make install in 
   /usr/ports/lang/perl5.8)?
  
  Yes.  make install PREFIX=/usr/local/perl
 
 I of course also did 'make PREFIX=/usr/local/perl' before doing the install.

The main reason for doing that sort of thing with most unixoid systems
is that using a unique prefix for every software package you install
means that you can easily identify which files belong to what package
when later on it comes time to update things.

However, you don't have to do it that way on FreeBSD -- the ports
system itself keeps track of where all of the installed files come
from.  Following the defaults -- that is, using the prefixes
/usr/local or /usr/X11R6 -- means that all the binaries will appear in
locations that are already on user paths, and dependent software
packages will be able to find shared libraries to link against.

But then again, it's your system and you can do what you like with it.

Cheers,

Matthew

-- 
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


pgp0.pgp
Description: PGP signature


Re: Perl 5.8.2 problems (was Re: how to build Spamassassin)

2003-12-11 Thread Tony Jones

 The main reason for doing that sort of thing with most unixoid systems
 is that using a unique prefix for every software package you install
 means that you can easily identify which files belong to what package
 when later on it comes time to update things.

I understand this, but I still like the seperation.
Were I installing a package, I'd understand having to operate within the
confines of someone elses location scheme, BUT I'm building from source
for gods sake.  Being able to change the base prefix of the port install
seems like a pretty basic piece of functionality. Obviously there are some
exceptions, but it would be easy for the port to inform you if PREFIX could
not be changed in the environment.

I did a 'make install' on portupgrade,  didn't realize I'd have to install
ruby to install perl :-) Grief.

Then I found my problem.  My stock shell was ksh, obtained from research.att.com
many moons ago.  It was doing some odd stuff with the environment (not via any
dotted scripts).  perl -v would work in ksh but once I su'd to root (csh) 
something was messed up.   Shrug.  chsh to sh or csh seems to work for that
shell and also when su'ing to root. With my /usr/local/perl prefix and all.  

Thanks for everyones help  chastisement :-))

tony


___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Perl 5.8.2 problems (was Re: how to build Spamassassin)

2003-12-10 Thread Tony Jones

 Install Perl 5.8.2 from ports (or source)

I did this (/usr/ports/lang/perl5.8).

Made fine, but grokked during 'make install':

/bin/mkdir -p /usr/local/perl/lib/perl5/5.8.2/BSDPAN/ExtUtils
install -c -o root -g wheel -m 444  
/usr/ports/lang/perl5.8/work/BSDPAN-5.8.0/ExtUtils/MM_Unix.pm 
/usr/local/perl/lib/perl5/5.8.2/BSDPAN/ExtUtils/MM_Unix.pm
/bin/mkdir -p /usr/local/perl/lib/perl5/5.8.2/BSDPAN/ExtUtils
install -c -o root -g wheel -m 444  
/usr/ports/lang/perl5.8/work/BSDPAN-5.8.0/ExtUtils/Packlist.pm 
/usr/local/perl/lib/perl5/5.8.2/BSDPAN/ExtUtils/Packlist.pm
/usr/libexec/ld-elf.so.1: /usr/local/perl/bin/perl: Undefined symbol PL_exit_flags
*** Error code 1

At this point, /usr/local/perl/bin/perl is installed (above error is some later
foo) but any attempt to run /usr/local/perl/bin/perl gets the same error from
the dynamic loader -- but I am trying it as root (see later).

Found a post from '[EMAIL PROTECTED]' to freebsd.ports (on 11/12) with the
same problem (he was on 4.8,  I'm on 4.9) but no answer.

Looks like PL_exit_flags is defined in the BSS segment of 
{/usr/local/perl}/lib/perl5/5.8.2/mach/CORE/libperl.so.

But this seems too deep a path for addition to LD_LIBRARY_PATH.

Looking back through the build logs, I could see places where commands were
run with LD_LIBRARY_PATH prepended with /usr/ports/lang/perl5.8/work/perl-5.8.2
to pick up a copy of libperl.so in that directory but not in the case where
the make failed.   So, I prepended the path to LD_LIBRARY_PATH in the
parent environment and reran make.  This solved the problem and make install
completed.

But now I get this, which is baffling me a bit:

$ /usr/local/perl/bin/perl -v
This is perl, v5.8.2 built for i386-freebsd
Copyright 1987-2003, Larry Wall
[snip]

$ su
Password:
# /usr/local/perl/bin/perl -v
/usr/libexec/ld-elf.so.1: /usr/local/perl/bin/perl: Undefined symbol PL_exit_flags
# exit 
$ script
Script started, output file is typescript
$ /usr/local/perl/bin/perl -v
/usr/libexec/ld-elf.so.1: /usr/local/perl/bin/perl: Undefined symbol PL_exit_flags
$ ^D
Script done, output file is typescript
$ ksh
$ /usr/local/perl/bin/perl -v
This is perl, v5.8.2 built for i386-freebsd
Copyright 1987-2003, Larry Wall
[snip]
$ ^D

Something is getting screwed up in the su and pty/script cases, as su - works
fine as does starting a subshell (.kshrc).

LD_LIBRARY_PATH is in the environment in all cases (=/usr/lib).

Anyone got any ideas.  It's probably something obvious but it isn't dawning
on me. Yes, I have rebooted post installing perl.  This is all 4.9 FreeBSD.

thanks!

Tony

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: how to build Spamassassin

2003-12-09 Thread r t g tan

Hi Tony,

I would use cvsup to update your ports tree.

You can use %make buildworld, to reinstall system
perl. Look in /etc/make.conf for NOPERL var to
unset accordingly to if you want to build it 
or not.

You can also try to install perl from ports. Then
you can use %use.perl ports, or %use.perl system
To define which perl your system will use. 

You can also try deinstalling some p5- modules.

Hope this helps,

Robert

On Mon, Dec 08, 2003 at 10:29:26PM -0800, Tony Jones wrote:
 
 Hi.  
 
 Over time I've got into the habit of either using packages or building 
 directly from the source.  Last time I tried this (Postfix) and asked a Q
 here, I was rapped over the knuckles :-) and told to use the Ports.
 
 Right now I'm trying to build spamassassin, so I decided I'd be good and do 
 it the Ports way.
 
 My current system is 4.9-PRERELEASE #5,  upgraded for many years from src
 using CTM.
 
 - Read the handbook, ran /stand/sysinstall to get the ports tree, this failed
   not finding the download location on ftp.freebsd.org and telling me to
   manually change it
 
 - So I went and got it manually.   Was a little confused as many years ago
   I recalled their being a ports tree per release.  Now ports-stable and
   ports-current both point to ports.
 
 - I downloaded ports,tar.gz.   Unpacked it and changed into 
 ports/mail/p5-Mail-SpamAssassin
 
 - Did a make which immediately failed with
 
 Makefile, line 27: Malformed conditional (${PERL_LEVEL}  500600)
 Makefile, line 27: Need an operator
 Makefile, line 31: if-less endif
 Makefile, line 31: Need an operator
 Makefile, line 33: Malformed conditional (${PERL_LEVEL}  500800)
 Makefile, line 33: Need an operator
 Makefile, line 35: if-less endif
 Makefile, line 35: Need an operator
 
 I recalled being able to make individual ports this way in the past.
 
 
 So, this not working, I went and grabbed the sources for Mail-SpamAssassin-2.60
 and figured I'd try building it manually.
 
 trying: perl -MCPAN -e shell  (which is the INSTALL files recommended way)
 just generated lots of messages telling me to install Bundle::libnet ASAP
 and when I did, it failed to install and seems to have messed up the perl
 packages on my system.
 
 
 So, two questions:
 
 1) How can I reinstall perl 5.005_03 (make install from /usr/src)
 2) Once I have the perl restored,  what is the best way to install SpamAssassin
 on 4.9 ?
 
 Thanks
 
 Tony (who hates perl)
 
 
 ___
 [EMAIL PROTECTED] mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-questions
 To unsubscribe, send any mail to [EMAIL PROTECTED]

-- 



pgp0.pgp
Description: PGP signature


Re: how to build Spamassassin

2003-12-09 Thread Jan Grant
On Mon, 8 Dec 2003, Tony Jones wrote:

 Hi.

 Over time I've got into the habit of either using packages or building
 directly from the source.  Last time I tried this (Postfix) and asked a Q
 here, I was rapped over the knuckles :-) and told to use the Ports.

 Right now I'm trying to build spamassassin, so I decided I'd be good and do
 it the Ports way.

 My current system is 4.9-PRERELEASE #5,  upgraded for many years from src
 using CTM.

 - Read the handbook, ran /stand/sysinstall to get the ports tree, this failed
   not finding the download location on ftp.freebsd.org and telling me to
   manually change it

 - So I went and got it manually.   Was a little confused as many years ago
   I recalled their being a ports tree per release.  Now ports-stable and
   ports-current both point to ports.

 - I downloaded ports,tar.gz.   Unpacked it and changed into
 ports/mail/p5-Mail-SpamAssassin

 - Did a make which immediately failed with

 Makefile, line 27: Malformed conditional (${PERL_LEVEL}  500600)
 Makefile, line 27: Need an operator
 Makefile, line 31: if-less endif
 Makefile, line 31: Need an operator
 Makefile, line 33: Malformed conditional (${PERL_LEVEL}  500800)
 Makefile, line 33: Need an operator
 Makefile, line 35: if-less endif
 Makefile, line 35: Need an operator

 I recalled being able to make individual ports this way in the past.

Where did you unpack the ports tree to? /usr/share/mk/bsd.port.mk
expects /usr/ports, or the PORTSDIR variable to be set if the tree lives
elsewhere.

-- 
jan grant, ILRT, University of Bristol. http://www.ilrt.bris.ac.uk/
Tel +44(0)117 9287088 Fax +44 (0)117 9287112 http://ioctl.org/jan/
printf 'cat\nhello world' | `sh -c 'read c; echo $c'`
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: how to build Spamassassin

2003-12-09 Thread Nick Tonkin
On Mon, 08 Dec 2003 22:29:26 -0800, Tony Jones [EMAIL PROTECTED] wrote:

[ snip ]

So, this not working, I went and grabbed the sources for 
Mail-SpamAssassin-2.60
and figured I'd try building it manually.

trying: perl -MCPAN -e shell  (which is the INSTALL files recommended 
way)
just generated lots of messages telling me to install Bundle::libnet ASAP
and when I did, it failed to install and seems to have messed up the perl
packages on my system.

So, two questions:

1) How can I reinstall perl 5.005_03 (make install from /usr/src)
2) Once I have the perl restored,  what is the best way to install 
SpamAssassin
on 4.9 ?

Thanks

Tony (who hates perl)
Hm, well, if you hate perl perhaps you should consider using a spam 
filtering package written in some other language!

The problem with FreeBSD and perl is well documented . . . basically the 
FreebSD system has perl 5.005_03 which is a very old version nowadays, and 
many modules require 5.6.1 at least if not 5.8+.

The simplest and easiest way to clear up these problems is to install a 
new perl from source, in a non-standard location, so it creates its own 
libraries from scratch. I recommend creating a user perl and installing 
everything under /home/perl. Then at the end just change the symlinks to 
/usr/bin/perl etc.

Do _not_ try to install a new perl over the 5.005 version that FreeBSD has 
installed by default. FreeBSD creates non-standard library locations and 
you will have lots of problems.

If you follow this advice you won't have any problem using CPAN to install 
libwww, Mail::SpamAssassin and all the other modules you need or currently 
use.perl and CPAN are _very_ reliable.

If you upgrade your FreeBSD to 5.1 you will find that the stock perl is 
5.6.1 and most stuff Just Works with it. The perl has also been separated 
from the base distribution and is now installed as a package (or port) so 
it doesn't break when you update it.

On FreeBSD prior to 5.x I always built a new perl from source as I 
described, and then built all my applications from source too (including 
apache, mod_perl, mysql and a bunch of perl applications like 
SpanAssassin). I too have encountered the 'ports or bust' mentality and 
while it is good in theory it just doesn't work in practise where perl is 
concerned. And there's way too much stuff depends on perl (for me at 
least) for it to be flaky.

Hope this helps,

- nick
--

Nick Tonkin   {|8^)
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: how to build Spamassassin

2003-12-09 Thread Tony Jones

Hi Nick.

Thanks for the reply.

I already knew of the FreeBSD stock perl issues and was aware that
under no circumstances should I try to upgrade the stock Perl, but
I appreciate the reminded nontheless!!

I gave up on trying to install the SpamAssassin I obtained manually
from spamassassin.org after it bitched that my Bundle::Net (or similar, sorry, 
forget the exact package) was out of date. Trying to install it via CPAM 
crapped out bigtime and seems to have left my stock FreeBSD perl setup in a 
goofy state.  Perl would spit out nasty method tracebacks.

Can someone tell me if it is possible to redo just the perl portion of a 
make installworld so I can reset my stock module config ?

Giving up on this approach, with the help of Jan Grant's earlier reply
I got the ports tree to work. [I needed to unpack the whole ports.tgz, not 
just the spamassassin subdir]

First problem was that the MD5 on the downloaded distfile (that the ports
Makefile downloaded from spamassassin.org) didn't match:

 MD5 (Mail-SpamAssassin-2.60.tar.gz) = 65ece9dec35cc4701d98680d0651afd3
---
 MD5 (Mail-SpamAssassin-2.60.tar.gz) = 46d1db67ed1d860ddb136e0beb5f6ac3

I temporarily updated the MD5 so I could get past this, e-mailed the 
maintainer.  I wasn't planning on installing until I heard back, but since
the stock make did a bunch of perl module updating foo,  if the tar.gz is 
trojaned I could already be screwed :-(

Next the make groks when it tries to configure spamd,  claims gcc isn't in
the PATH,  though it's in roots path once make drops back to the shell.

This is probably easily fixable, but at this point I gave up and started
working on what I get paid to do :-) All of this is on FreeBSD 4.9.

I'm reminded of Greg Lemis's chastisement of me for previously not using
the FreeBSD Ports system.  It isn't making my life much easier here :-)))

Tony

 Hm, well, if you hate perl perhaps you should consider using a spam 
 filtering package written in some other language!
 
 The problem with FreeBSD and perl is well documented . . . basically the 
 FreebSD system has perl 5.005_03 which is a very old version nowadays, and 
 many modules require 5.6.1 at least if not 5.8+.
 
 The simplest and easiest way to clear up these problems is to install a 
 new perl from source, in a non-standard location, so it creates its own 
 libraries from scratch. I recommend creating a user perl and installing 
 everything under /home/perl. Then at the end just change the symlinks to 
 /usr/bin/perl etc.
 
 Do _not_ try to install a new perl over the 5.005 version that FreeBSD has 
 installed by default. FreeBSD creates non-standard library locations and 
 you will have lots of problems.
 
 If you follow this advice you won't have any problem using CPAN to install 
 libwww, Mail::SpamAssassin and all the other modules you need or currently 
 use.perl and CPAN are _very_ reliable.
 
 If you upgrade your FreeBSD to 5.1 you will find that the stock perl is 
 5.6.1 and most stuff Just Works with it. The perl has also been separated 
  from the base distribution and is now installed as a package (or port) so 
 it doesn't break when you update it.
 
 On FreeBSD prior to 5.x I always built a new perl from source as I 
 described, and then built all my applications from source too (including 
 apache, mod_perl, mysql and a bunch of perl applications like 
 SpanAssassin). I too have encountered the 'ports or bust' mentality and 
 while it is good in theory it just doesn't work in practise where perl is 
 concerned. And there's way too much stuff depends on perl (for me at 
 least) for it to be flaky.
 
 Hope this helps,
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: how to build Spamassassin

2003-12-09 Thread Nick Tonkin
On Tue, 09 Dec 2003 17:11:10 -0800, Tony Jones [EMAIL PROTECTED] wrote:

Hi Nick.

Thanks for the reply.

I already knew of the FreeBSD stock perl issues and was aware that
under no circumstances should I try to upgrade the stock Perl, but
I appreciate the reminded nontheless!!
I gave up on trying to install the SpamAssassin I obtained manually
from spamassassin.org after it bitched that my Bundle::Net (or similar, 
sorry,
forget the exact package) was out of date. Trying to install it via CPAM
crapped out bigtime and seems to have left my stock FreeBSD perl setup 
in a
goofy state.  Perl would spit out nasty method tracebacks.
[ snip ]

I did suggest a very quick, easy and effective fix. It would have taken 
you less than two hours to download, build and configure perl and multiple 
CPAN modules [1] and been on your way.

I'm reminded of Greg Lemis's chastisement of me for previously not using
the FreeBSD Ports system.  It isn't making my life much easier here :-)))
Right: it's just not true (in FreeBSD  5.1) that using ports makes your 
life easier with perl. The p5-* ports are great but the base perl 
installation is messed up; that's the problem. The FreeBSD developers 
acknowledge as much, in 
http://www.freebsd.org/releases/5.1R/early-adopter.html (section 6.3 - 
Common Notes):
  Perl has been removed from the base system, and should be installed 
either from a pre-built package or from the Ports Collection. Building 
Perl as a part of the base system created a number of difficulties which 
made updates problematic.

Note that it _is_ true that the ports make your life easier with perl in 
FreeBSD  5.1.x, since, as the same document continues:
sysinstall(8) will now install the Perl package as a part of most 
distribution sets, so most users will not notice this change.

So in other words, the entire perl package is a port. Or a package :) This 
is a generally a good thing, though it is sad to see that the port is of 
5.6.1. This version of perl was superceded by 5.8 more than two years ago 
and stable perl version is now 5.8.2 ... [2]

Anyways, you still have two good choices, IMHO: build a new sandbox perl 
by hand (~ 2hrs) or build a new 5.1 system (~ 2 weeks? :)

Best,
-- nick
[1] CPAN's ability to install multiple related modules by groups via 
Bundle::* can save you a lot of time versus FreeBSD's ports of the p5-* 
modules. But that's another argument :)

[2] I don't know what you do with your server, but I do a lot of 
internet-related stuff and it's an arena of dynamic development. I've 
never found the ports able to keep up with the software I need. I build 
perl, apache and their various components (mod_perl, mod_ssl etc) by hand, 
and rely on the ports for other stuff. OTOH, as someone pointed out, the 
ports-installed perl _does_ play nice with CPAN, so you can use CPAN to 
get perl modules as well as use the p5-* ports.

--
___
Nick Tonkin   {|8^)
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: how to build Spamassassin

2003-12-09 Thread Tony Jones

 [ snip ]
 
 I did suggest a very quick, easy and effective fix. It would have taken 
 you less than two hours to download, build and configure perl and multiple 
 CPAN modules [1] and been on your way.

Nick.   I did all of what I said *BEFORE* you e-mailed your (excellent)
suggestion.  I will of course be trying what you suggest but cannot yet
perform time travel ;-)

 [2] I don't know what you do with your server, but I do a lot of 
 internet-related stuff and it's an arena of dynamic development. I've 
 never found the ports able to keep up with the software I need. I build 
 perl, apache and their various components (mod_perl, mod_ssl etc) by hand, 
 and rely on the ports for other stuff. OTOH, as someone pointed out, the 

Agreed.  This is what I normally did, but when I ran into a problem with
Postfix (wrt sendmail compatability) I was whacked over the knuckes for
not using the Port :-)

Anyways, thanks much for your excellent advice.

Tony
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: how to build Spamassassin

2003-12-09 Thread Lucas Holt
The ports collection is great for certain things.  I do happen to use 
it for spam assassin on 4.9 Stable.  I have perl 5.8.2 installed from 
ports and I used use.perl to set it up as default.

Here is the problem with ports, many maintainers are using 5.x now.  
Since there is only one ports collection, things are OFTEN broken or 
don't work quite right.  Sometimes features just aren't there.. look at 
the Sendmail -SASL port.. you can't use milter's without installing GCC 
3 or upgrading to 5.  Sometimes the ports are just plain out of date.

There is nothing wrong with avoiding the ports collection when you need 
control or recent software.  All of my web server related stuff is 
installed manually because I have a complex setup and i really don't 
feel like the extra hurdles the ports collection requires for apache 2 
+ mod jk + php 4.3 + perl + tomcat 4.1.x ... etc

On the flip side, i love it for x11.

If you change your mind on spam assassin, here is a procedure that 
should work.
Install Perl 5.8.2 from ports (or source)
Install Spam assassin from ports (or source)
Install razor (it helps a lot)

I personally use anomy mail (a script) with procmail to run spam 
assassin and clam av on incoming mail.  I switched over to smapd and 
spamc for a slight performance improvement.  It works fine on my mail 
server (low traffic).

The real thing to remember about ports is to try to use it all or 
nothing for a given type of services.  Trying to mix and match doesn't 
work well.  Its a lot of work actually.



On Dec 9, 2003, at 8:11 PM, Tony Jones wrote:

Hi Nick.

Thanks for the reply.

I already knew of the FreeBSD stock perl issues and was aware that
under no circumstances should I try to upgrade the stock Perl, but
I appreciate the reminded nontheless!!
I gave up on trying to install the SpamAssassin I obtained manually
from spamassassin.org after it bitched that my Bundle::Net (or 
similar, sorry,
forget the exact package) was out of date. Trying to install it via 
CPAM
crapped out bigtime and seems to have left my stock FreeBSD perl setup 
in a
goofy state.  Perl would spit out nasty method tracebacks.

Can someone tell me if it is possible to redo just the perl portion of 
a
make installworld so I can reset my stock module config ?

Giving up on this approach, with the help of Jan Grant's earlier reply
I got the ports tree to work. [I needed to unpack the whole ports.tgz, 
not
just the spamassassin subdir]

First problem was that the MD5 on the downloaded distfile (that the 
ports
Makefile downloaded from spamassassin.org) didn't match:

 MD5 (Mail-SpamAssassin-2.60.tar.gz) = 
65ece9dec35cc4701d98680d0651afd3
---
MD5 (Mail-SpamAssassin-2.60.tar.gz) = 46d1db67ed1d860ddb136e0beb5f6ac3
I temporarily updated the MD5 so I could get past this, e-mailed the
maintainer.  I wasn't planning on installing until I heard back, but 
since
the stock make did a bunch of perl module updating foo,  if the tar.gz 
is
trojaned I could already be screwed :-(

Next the make groks when it tries to configure spamd,  claims gcc 
isn't in
the PATH,  though it's in roots path once make drops back to the shell.

This is probably easily fixable, but at this point I gave up and 
started
working on what I get paid to do :-) All of this is on FreeBSD 4.9.

I'm reminded of Greg Lemis's chastisement of me for previously not 
using
the FreeBSD Ports system.  It isn't making my life much easier here 
:-)))

Tony

Hm, well, if you hate perl perhaps you should consider using a spam
filtering package written in some other language!
The problem with FreeBSD and perl is well documented . . . basically 
the
FreebSD system has perl 5.005_03 which is a very old version 
nowadays, and
many modules require 5.6.1 at least if not 5.8+.

The simplest and easiest way to clear up these problems is to install 
a
new perl from source, in a non-standard location, so it creates its 
own
libraries from scratch. I recommend creating a user perl and 
installing
everything under /home/perl. Then at the end just change the symlinks 
to
/usr/bin/perl etc.

Do _not_ try to install a new perl over the 5.005 version that 
FreeBSD has
installed by default. FreeBSD creates non-standard library locations 
and
you will have lots of problems.

If you follow this advice you won't have any problem using CPAN to 
install
libwww, Mail::SpamAssassin and all the other modules you need or 
currently
use.perl and CPAN are _very_ reliable.

If you upgrade your FreeBSD to 5.1 you will find that the stock perl 
is
5.6.1 and most stuff Just Works with it. The perl has also been 
separated
 from the base distribution and is now installed as a package (or 
port) so
it doesn't break when you update it.

On FreeBSD prior to 5.x I always built a new perl from source as I
described, and then built all my applications from source too 
(including
apache, mod_perl, mysql and a bunch of perl applications like
SpanAssassin). I too have encountered the 'ports or bust' mentality 
and
while