|
From: Jamie M. <ja...@mc...> - 2001-06-15 20:51:57
|
ko...@mi... (Mike Boatright) writes:
> And even more to the point, I did a bad thing by installing
> CPAN::Perl before I did any of this [...]
>
> I now have Perl 5.6.0 installed in /usr/lib/perl5/ and Perl
> 5.6.1 installed in /usr/local/lib/perl5 (arch i586...).
This isn't the end of the world (see below for fix) but you're the
second person I've seen recently who's done this.
Slash team, this isn't really our issue, but it's an issue that
affects us. I propose as a workaround, we change the INSTALL file
to strongly recommend an upgrade to the latest version of perl, in
step 2. I know of no side-effects (bender and fry run fine with
perl 5.6.1).
Mike, the short version of what happened is that there are some ugly
glitches in the CPAN module installation process. It would be nice
if there were a way for a module to say "install version X on
systems with perl version X1; install version Y on systems with
perl version Y1." But with some modules, it doesn't work that way.
You install the module, you get a free half-baked upgrade to the
latest version of perl along with it. It's dumb and it needs to be
fixed but if you're not running 5.6.1 there's not much we can do
about it.
"Half-baked" apparently means exactly what you (and the other person)
describe: one version of perl in /usr/*, another in /usr/local/*.
Needless to say, this causes problems.
If perl 5.6.1 were installed before the user began the CPAN module
installation process, this problem would not occur.
> Is there any way to get out of this short of formatting the
> system and reinstalling RH7.0 (short of rebuilding the slash
> rpm)???
Oh my yes -- nothing so drastic required! Perl is pretty good about
looking backward into previous versions for its modules. So once
you get fully up to 5.6.1, your installed 5.6.0 modules should still
be present.
Personally, I always go behind the back of the package manager for
installing perl. It's happy because it thinks/knows a copy of perl
is indeed installed. I'm happy because I always get the latest
version of perl and I watch it install with my own two eyes so I
know right where it goes.
Here's what I'd do. There may be quicker fixes but I'm a little
paranoid about getting a clean installation:
1) Recompile a fresh perl 5.6.1 from scratch and install it over
the top of whatever you have.
This is quite simple. As root:
cd /usr/local/src # or wherever
GET 'http://www.perl.com/CPAN/src/stable.tar.gz' > perl-5.6.1.tar.gz
tar zxf perl-5.6.1.tar.gz
cd perl-5.6.1
./Configure -des && make && make test && make install
If it asks you any questions (it shouldn't), hit return for default.
2) Reinstall modules. "perl -MCPAN -e shell" for the CPAN shell,
"r" to list out of date modules, and "install X" to install anything
that looks out of date. (Note that some modules may be misversioned
and list as out of date when they're not -- DBD::ADO, DBI::Shell,
and Template::Plugin::XML::DOM are prime culprits.)
Then install the big bundles, Bundle::CPAN and Bundle::LWP would be
my suggestions, and then install Bundle::Slash. Then do
DBIx::Password again -- and be sure to read its README!
3) Remove /usr/local/slash/slash.sites, put install-slashsite back
the way it was (whatever was before #!/usr/local/bin/perl), and
re-run install-slashsite.
I haven't used the slash RPM so I'm not sure where in there it would
go. I imagine right before step 3 -- though from your description,
my step 2 should almost be unnecessary...anyway, give that a try.
--
Jamie McCarthy
ja...@mc...
|