PERL plumbers?

Paul Schmehl pschmehl_lists at tx.rr.com
Mon Aug 18 19:02:04 UTC 2008


--On Monday, August 18, 2008 13:23:43 -0500 Len Conrad <LConrad at Go2France.com> 
wrote:

> fbsd 4.11
>
> perl 5.8.8 installed by pkg_add
>
> postgrey 1.32
>
> use.perl port
>
> This machine has been running great for a week.  Monday morning, postgrey was
> stoppedand wouldn't start.
>
> syslog:
>
> Aug 18 14:20:35 mx1 postgrey[73387]: FATAL: ERROR: can't create DB
> environment: No such file or directory (dbdir: /var/db/postgrey uid/gid:
> 1003,1003)
>
> user:group 1003:1003 is postgrey:postgrey
>
> but:
>
> ll /var/db/postgrey/
> total 1078288
> -rw-------  1 postgrey  postgrey  -   10485684 Aug  8 01:06 log.0000000001
> -rw-------  1 postgrey  postgrey  - 1082490880 Aug 17 08:36 postgrey.db
> -rw-------  1 postgrey  postgrey  -          0 Dec  8  2006 postgrey.lock
> -rw-------  1 postgrey  postgrey  -   10862592 Aug 17 08:36
> postgrey_clients.db
>
> It seems that some PERL path has gone wrong
>
> strace postgrey --inet=10023
>
> .. show a lot of file open failures.
>
> open("/usr/local/lib/perl5/site_perl/5.8.5/mach/Sys/Syslog.pm", O_RDONLY) =
> -1 ENOENT (No such file or directory)
>
> mx1# find /usr/local -iname "Syslog.pm"
> /usr/local/lib/perl5/5.8.2/mach/Sys/Syslog.pm
> /usr/local/lib/perl5/site_perl/5.8.2/mach/Unix/Syslog.pm
> /usr/local/lib/perl5/5.8.5/mach/Sys/Syslog.pm
>
> mx1# find /usr/local -iname "FileHandle.pm"
> /usr/local/lib/perl5/5.8.2/FileHandle.pm
> /usr/local/lib/perl5/5.8.5/FileHandle.pm
>
>
> For an earlier, similar problem on this machine, we were advised to make this
> link,
>
> mx1# ll /usr/bin/perl
> lrwxr-xr-x  1 root  wheel  - 19 Aug 18 06:14 /usr/bin/perl@ ->
> /usr/local/bin/perl
>

Whoever gave you this advice was wrong.  A symlink should already exist for 
perl:
# ls -lsa /usr/bin/perl
0 lrwxr-xr-x  1 root  wheel  24 Feb 20 12:23 /usr/bin/perl -> 
/usr/local/bin/perl5.8.8

Note that it doesn't point to /usr/local/bin/perl

> How do I tell PERL and PERL apps where to find the stuff?
>

@INC

Try running the perl-after-upgrade script:
# which perl-after-upgrade
/usr/local/bin/perl-after-upgrade

-- 
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
*******************************************
Check the headers before clicking on Reply.



More information about the freebsd-questions mailing list