brent_weaver has asked for the wisdom of the Perl Monks concerning the following question:

Hello all. I am unable to get CPAN to upgrade on AIX 6.1 systems. I have tried varied levels of TL's and nothing. I get exit 4 when I try. I did some core dump analysis and it seems to have something to do with readline. Any help would be appreciated as I cannot install my tools on these new systems. Also is there a way to upgrade CPAN w/o using cpan?

Replies are listed 'Best First'.
Re: CPAN on AIX 6.1
by Tanktalus (Canon) on Jun 21, 2012 at 15:26 UTC

    In my experience, regardless of unix-like platform, you don't want to upgrade CPAN. At least, not in-place. With the system perl. Often that drags in a bunch of other changes, such as a newer perl, and upgrading the system perl is often a bad idea. For starters, you'd need to be root, which you may not have. Second, it'd break the fixes that come from the vendor (in your case, IBM). Third, it may break other apps that come with your system (anything written in perl that comes with AIX might break with an upgrade of perl). Any one of these reasons, by themselves, is sufficient reason to avoid upgrading the system perl, IMO. Especially as AIX 6.1 comes with perl 5.8.8, which is not going to be ABI-compatible with anything newer (other than 5.8.9, but that's not what you're going to end up with).

    Instead, I would recommend installing a new copy of perl to another location. I've just gone through putting together a perl script that automatically installs perl 5.16.0 plus 56 other modules (many involving XS code) to a new location, and I've been testing it on AIX 6.1 with xlC, so it seems to work. Some of them are even a bit more esoteric (Coro, AnyEvent, EV - though I had to patch this one, it won't compile with xlC without a patch that the author has accepted but has refused to release). That will also get you pretty much the latest-and-greatest CPAN at the same time.

    I've also had issues with Term::Readline::Gnu on various platforms (including Linux!) from time to time. So I generally just use Term::Readline::Perl - it's big, ugly, and more or less just works. It's not quite as feature-rich as ::Gnu, but I hadn't noticed until someone pointed out to me some of the programmatic differences.

    Whatever you do, don't ask Tux. He'll try to convince you that HP-UX is an upgrade. Ewww! :-) (Sorry, long-running fun-poking going on.)

    Edit: a couple minor tweaks, but I also want to add one other thing. Getting all those extra modules to compile? They work better if you add -Accflags=-qlanglvl=extc99 to the Configure command. It's not needed for perl itself, but is very handy for many XS modules whose authors write to the C99 standard instead of C89.

      Thank you VERY much for this response. I am not really hung up on CPAN itself, just seems that it needs to be built to build other modules. For example: /home/idxsys/install/Config-IniFiles-2.77 # perl Makefile.PL Can't locate Module/Build/ in @INC (@INC contains: /usr/opt/perl5/lib/5.8.8/aix-thread-multi /usr/opt/perl5/lib/5.8.8 /usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi /usr/opt/perl5/lib/site_perl/5.8.8 /usr/opt/perl5/lib/site_perl .) at Makefile.PL line 2. BEGIN failed--compilation aborted at Makefile.PL line 2. /home/idxsys/install/Config-IniFiles-2.77 # What can I do to get around this. I would prefer to not build custom versions as these are FDA regulated servers and it is VERY difficult to make these types of changes.

        "Can't locate Module/Build/ in @INC" - when you see things like this, try installing that module. e.g., "cpan -i Module::Build::Compat" (this should install Module::Build).

        Note that newer versions of Perl come with Module::Build already, too :-)

        Also, your custom version of perl would NOT be installed globally. It would only be for your code. And it's the same license as these other modules you're installing anyway, so it should, in theory, not be an issue. Mind you, I feel your pain - took me 2 years to get about 12 modules approved by the lawyers for redistribution, too. But just because it was the Right Thing To Do, I didn't give up the effort :-) I eventually gave them an ultimatum and got approval within a couple months after that. ("Approve these, or we don't ship.")

Re: CPAN on AIX 6.1
by daxim (Chaplain) on Jun 21, 2012 at 15:18 UTC