On Wed, Nov 5, 2008 at 9:16 AM, Eric Wilhelm <[EMAIL PROTECTED]> wrote: > # from Bill Moseley > # on Wednesday 05 November 2008: > >>Seems a lot of pure-perl modules were installed in: >> >> /usr/local/share/perl/5.8.8 >>... >>so many modules are not found after upgrading since 5.8.8 in not in >>@INC in 5.10.0. >>... >>Is that an Ubuntu issue or something common across Perl installations? > > It seems to be a Debian/Ubuntu thing. One would have to look at their > policy manual to understand it more deeply (I don't at this point.) It > does look like the debs are installed in the /usr/lib/perl5/ path > (regardless of whether they are XS, but that makes sense because > they'll get upgraded with the perl deb.) > >>Assuming my modules are "forward compatible" as a module author is >>there anything I can do in Makefile.PL to have my module installed in >>a location that does not have the version number? > > No. The code gets installed in installsitelib or installsitearch per > the machine's Config.pm (and subject to user settings in CPAN(PLUS) or > Makefile.PL/Build.PL arguments.) > > (And note: most (99%?) perl modules are forward compatible.) > > The user could opt to change that on their machine, but there is > presumably a reason for Debian's choices in how this has been setup -- > so reading-up on that seems like the next step to me.
It's not a Debian-specific choice to put the files in a directory that has the version number -- the default behavior when building Perl is to set up installsitelib / installsitearch to include the version numbers. Upgrading Perl will then require reinstalling all the Perl modules. If you upgrade Perl using the Debian/Ubuntu package system, they'll upgrade any Perl modules installed that way, but not ones manually installed from CPAN. Many if not most CPAN modules are available as Debian/Ubuntu packages, so the best way to dodge this issue is to not use CPAN to install them, but rather to install the corresponding libxxx-perl debian package. That way they'll get upgraded when you upgrade your system automatically, and the regular updates will pick up changes from the CPAN modules.