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



Reply via email to