PERL plumbers?

Len Conrad LConrad at Go2France.com
Tue Aug 19 08:50:33 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


sorry, perl 5.8.5

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

?

I deleted perl5.8.2 and 5.5 pkgs, the re-installed 5.8.5 pkg


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

not delivered in the perl5.8.5 pkg, but I found a copy.  gives no errors:

Fixed 28 packages (316 files moved, 0 files modified)
Skipped 41 packages

still no success in getting postgrey to start.

in fact, PERL does finally find files, just after looking in about 10 
directories, from strace:

stat("/usr/local/lib/perl5/site_perl/5.8.5/mach/File/Spec.pmc", 
0xbfbff090) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/perl5/site_perl/5.8.5/mach/File/Spec.pm", 
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib/perl5/site_perl/5.8.5/File/Spec.pmc", 
0xbfbff090) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/perl5/site_perl/5.8.5/File/Spec.pm", O_RDONLY) = 
-1 ENOENT (No such file or directory)
stat("/usr/local/lib/perl5/site_perl/File/Spec.pmc", 0xbfbff090) = -1 
ENOENT (No such file or directory)
open("/usr/local/lib/perl5/site_perl/File/Spec.pm", O_RDONLY) = -1 
ENOENT (No such file or directory)
stat("/usr/local/lib/perl5/5.8.5/BSDPAN/File/Spec.pmc", 0xbfbff090) = 
-1 ENOENT (No such file or directory)
open("/usr/local/lib/perl5/5.8.5/BSDPAN/File/Spec.pm", O_RDONLY) = -1 
ENOENT (No such file or directory)
stat("/usr/local/lib/perl5/5.8.5/mach/File/Spec.pmc", 0xbfbff090) = 
-1 ENOENT (No such file or directory)
open("/usr/local/lib/perl5/5.8.5/mach/File/Spec.pm", O_RDONLY) = -1 
ENOENT (No such file or directory)
stat("/usr/local/lib/perl5/5.8.5/File/Spec.pmc", 0xbfbff090) = -1 
ENOENT (No such file or directory)
open("/usr/local/lib/perl5/5.8.5/File/Spec.pm", O_RDONLY) = 5

then:


strace -o /var/tmp/strace-pg.txt /usr/local/bin/postgrey --inet=10023 
--dbdir=/var/db/postgrey --
user=postgrey --group=postgrey 
--whitelist-clients=/etc/postfix/mta_clients_pg_except 
--whitelist-recipients=/etc/postfix/to_recipients_pg_except

2008/08/19-04:50:37 postgrey (type Net::Server::Multiplex) starting! pid(29439)
Binding to TCP port 10023 on host localhost
Setting gid to "1003 1003"
Setting uid to "1003"
ERROR: can't create DB environment: No such file or directory (dbdir: 
/var/db/postgrey uid/gid: 1003,1003)

ll /var/db/postgrey/*
-rw-------  1 postgrey  postgrey  -   10485684 Aug  8 01:06 
/var/db/postgrey/log.0000000001
-rw-------  1 postgrey  postgrey  - 1082490880 Aug 17 08:36 
/var/db/postgrey/postgrey.db
-rw-------  1 postgrey  postgrey  -          0 Dec  8  2006 
/var/db/postgrey/postgrey.lock
-rw-------  1 postgrey  postgrey  -   10862592 Aug 17 08:36 
/var/db/postgrey/postgrey_clients.db





More information about the freebsd-questions mailing list