[nycbug-talk] FreeBSD 7.1-RELEASE perl issues

Matt Juszczak matt at atopia.net
Tue Jul 21 16:58:36 EDT 2009


Hi all,

I'm having trouble diagnosing a perl issue.  I have a hypothesis on what's 
going on.

At some point, I think FreeBSD 7.1-RELEASE was installed by our data 
center techs with perl 5.8.8 installed.  It was installed into 
/usr/local/bin/perl5.8.8, and a symlink of /usr/bin/perl was created.

I installed some things from ports which required 5.8.9 (or added it as a 
dependency, anyway).  Right now, every FreeBSD box I have has the 
perl-5.8.9_2.tbz package installed.

However, some have a /usr/bin/perl, some don't.  And that's my problem.

If I login to a *newer* 7.1-RELEASE box, here's what I get:

s104$ ls -l /usr/bin/perl*
ls: /usr/bin/perl*: No such file or directory
s104$ ls -l /usr/local/bin/perl*
-rwxr-xr-x  2 root  wheel   7248 May 17 02:19 /usr/local/bin/perl
-r-xr-xr-x  1 root  wheel  13698 May 17 02:19 
/usr/local/bin/perl-after-upgrade
lrwxr-xr-x  1 root  wheel     24 Jul 21 13:50 /usr/local/bin/perl5 -> 
/usr/local/bin/perl5.8.9
-rwxr-xr-x  2 root  wheel   7248 May 17 02:19 /usr/local/bin/perl5.8.9
-rwxr-xr-x  2 root  wheel  44787 May 17 02:18 /usr/local/bin/perlbug
-rwxr-xr-x  1 root  wheel  17965 May 17 02:18 /usr/local/bin/perlcc
-rwxr-xr-x  1 root  wheel    236 May 17 02:18 /usr/local/bin/perldoc
-rwxr-xr-x  1 root  wheel  12286 May 17 02:18 /usr/local/bin/perlivp
-rwxr-xr-x  2 root  wheel  44787 May 17 02:18 /usr/local/bin/perlthanks
s104$ ls /var/db/pkg | grep perl
perl-5.8.9_2


So perl 5.8.8 isn't installed at all, and /usr/bin/perl doesn't exist.


If I look at an older box, I get:

s504$ ls -l /usr/bin/perl*
lrwxr-xr-x  1 root  wheel  24 Apr 24 14:25 /usr/bin/perl -> 
/usr/local/bin/perl5.8.8
lrwxr-xr-x  1 root  wheel  24 Apr 24 14:25 /usr/bin/perl5 -> 
/usr/local/bin/perl5.8.8
s504$ ls -l /usr/local/bin/perl*
-rwxr-xr-x  2 root  wheel   7248 Apr 27 06:59 /usr/local/bin/perl
-r-xr-xr-x  1 root  wheel  13698 Apr 27 06:59 
/usr/local/bin/perl-after-upgrade
lrwxr-xr-x  1 root  wheel     24 Apr 28 18:41 /usr/local/bin/perl5 -> 
/usr/local/bin/perl5.8.9
-rwxr-xr-x  1 root  wheel  12968 Dec  9  2008 /usr/local/bin/perl5.8.8
-rwxr-xr-x  2 root  wheel   7248 Apr 27 06:59 /usr/local/bin/perl5.8.9
-rwxr-xr-x  2 root  wheel  44787 Apr 27 06:58 /usr/local/bin/perlbug
-rwxr-xr-x  1 root  wheel  17965 Apr 27 06:58 /usr/local/bin/perlcc
-rwxr-xr-x  1 root  wheel    236 Apr 27 06:58 /usr/local/bin/perldoc
-rwxr-xr-x  1 root  wheel  12286 Apr 27 06:58 /usr/local/bin/perlivp
-rwxr-xr-x  2 root  wheel  44787 Apr 27 06:58 /usr/local/bin/perlthanks
s504$


As you can see, there is stuff in /usr/bin/perl that was setup the day the 
server was installed, but a perl5.8.8 binary with a date of Dec 9, 2008.


My gut is, perl 5.8.8 was installed via /usr/sbin/sysinstall on some of 
these boxes, and not on others.  Is that a fair guess?  If so, I've seen a 
"use.perl" script somewhere that tells the system which perl you want to 
use, but I assumed the perl5.8.9 port would create the /usr/bin/perl 
symlink, and it doesn't seem to be doing that.





Thanks for any suggestions!

-M



More information about the talk mailing list