On 平成 19/03/11, at 19:55, Sherm Pendley wrote:
On Mar 11, 2007, at 12:54 AM, Joel Rees wrote:
perl 5.8.8 parallel build in /usr/local, botched it a couple of
times trying to get it to pull in expat and tie it in to apache 2,
I finally gave up on apache 2, then on expat.
Now, when I try to run certain things, I get this:
Use of uninitialized value in concatenation (.) or string at /usr/
local/lib/perl5/5.8.8/darwin-2level/Scalar/Util.pm line 30.
Line 30 in Scalar::Util is Carp::croak()ing about a feature only
being available in the XS version. With Scalar::Util being a core
module, I'd say something went wrong while you were building 5.8.8.
XS version? Yes, now that you mention it, a number of messages said
something about that.
One of the things I get it with is cpan, and I find I can't update
Bundle::CPAN because of it. Cascading failures starting about half
way through, starting with an instance of the above uninitialized
string.
The above warning won't, in an of itself, cause any failures - it's
the Carp::croak() that's causing test scripts to die. There may be
modules that depend on the XS version of Scalar::Util.
I guess that was what I meant to say.
I've tried deleting the .cpan in my build user's directory and
deleting all the build tree and the entire contents of /usr/local/
bin and /usr/local/lib to start over, but it senses perl 5.8.8
anyway, and takes some defaults I don't think I want it to. And
the errors get worse. Do I need to delete the entire /usr/local
tree as well?
That's absurd - what's next, nuke the site from orbit?
It's a possibility.
Actually, I gave up and did just that. Deleted everything from under /
usr/local, I mean. All that was in there was stuff from unsuccessful
attempts to install, and gnupg, so it kind of made sense to delete it
anyway. Something in there was causing perl to compile wrong.
What "it" are you talking about that "senses" Perl 5.8.8? The
scripts you're trying to run? Something you're trying to install?
Are you certain that it's "sensing" Perl 5.8.8? How are you certain
of that?
The perl ./Configure and/or cpan. I couldn't find documentation on
doing an uninstall, and when I tried to recompile with the binaries
in place under /usr/local the ./Configure and/or cpan initialization
scripts kept giving me bad results.
Sorry to be so vague, but if you're an IT vet,
Highly questionable these days. My memory for technical stuff seems
to be going away.
you know the drill - troubleshooting is a methodical, step-by-step
process, and you can't rely on guesswork for any step. Step one:
Which Perl are your scripts running with #!?
I spent a little time building a .bash_profile script that would
insert /usr/local/bin between /bin and /usr/bin. I then checked that
calling perl from the command line gave me 5.8.8 instead of 5.8.6,
which is the one in /usr/bin. I even noticed that apache, when run
from the command line instead of the system preferences, had the
altered path, so I'm pretty confident anything that picked up the
path from the environment would have been getting the perl under /usr/
local. Since I always told ./Configure and the cpan initialization
script to install under /usr/local, or, rather, checked that the
default was set to that and left it that way, I assume cpan should
know where it's supposed to get perl from.
The admin user, rather than root, owns /usr/local during the compile
and install, for what it's worth, so the install step was not sudone.
Anyway, nuking it from orbit did the trick, so I apologize for the
noise. My dynamic dns script (which specifies /usr/local/bin/perl on
the shebang line) is now running on the box that is taking over the
server duties without warning me about the unitialized variable in
the Scalar Util module.
I assume that there is an official way to uninstall perl that I just
haven't been finding? (I have vague memories of doing so several
years ago, but I sure couldn't find it this time.)
Which "perl" is in your path? When you start the CPAN shell, how
are you doing that? If you're using the cpan script, what's its #!
line?
sherm--
Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net