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