Installer copies files and then --> non-sensical @INC complaints

Posted by jrulmer on 2014-06-04 09:34

Running AIX 5.3 PowerPC.

Trying to install Perl (ActivePerl-5.14.4.1405-aix-5.3.0.0-cc_r-296746).

File copying works.
Then,

Can't locate ActivePerl/PPM/InstallArea.pm in @INC (@INC contains: /tmp/perl---------------------------------------------please-run-the-install-script---------------------------------------------/site/lib /tmp/perl---------------------------------------------please-run-the-install-script---------------------------------------------/lib .).
BEGIN failed--compilation aborted.

Install of ActivePerl to /opt/ActivePerl-5.14 failed:

    Command exits with 2:
  /opt/ActivePerl-5.14/bin/perl -MActivePerl::PPM::InstallArea -e ActivePerl::PPM::InstallArea->new('perl')->sync_db(keep_package_version => 1)
  stopped at support/install.pl line 310.

    Sorry about the inconvenience.  If this looks like a problem with
    the installer please report it to the ActivePerl bug database,
    available online at:

        http://bugs.ActiveState.com/ActivePerl/

    For general questions or comments about ActivePerl, please contact
    us at <support@activestate.com>.

    Thank you for trying to install ActivePerl!

What am I doing wrong?
The perl interpreter that is copied to my install directory will do a 'perl -V'. But, @INC is messed up.

Tried to use reloc_perl to straighten it out and it showed the same problem with @INC.

grahams
ActiveState Staff
Wed, 2014-06-04 12:32

-please-run-the-install-script-
always indicates that the running Perl interpreter hasn't completed configuration during the installer.

I'm not seeing the usual tell-tales, but the most frequent installation problem on AIX is using the AIX system POSIX tar and/or gunzip, to extract the tarball. GNUTar must be used. A mis-extracted payload will be incorrect and will not run correctly. The above message could potentially result if earlier portions of the installation didn't run.

When installing to /opt/ActivePerl-5.14 you will need root access for additional writes, such as happens when PPM adds modules. This can be managed by running with elevated permissions set, or by configuring PPM to use a different area as the default location to store modules (see the PPM docs for tips on adding an installation area).
http://docs.activestate.com/activeperl/5.16/faq/ActivePerl-faq2.html#cre...
Note that the setting of PERL5LIB will affect how ActivePerl installs and manages, so it's useful to check if it has been set, and if so, confirm that everything on PERL5LIB is compatible with the new Perl.

jrulmer | Thu, 2014-06-05 05:23

Hey Grahams,

Thanks for the reply. I noticed the @LongLink problems with the AIX tar when I first un-tar'd the bundle. To get around it, I moved the installer tar.gz bundle over onto a Linux machine with an exported file system, gunzip'd, un-tar'd, and then copied back onto the local AIX file system, /opt/ActiveState/, across the NFS mount. Don't see why that wouldn't work...?

I am running 'install.sh' as root.

This version of Perl is part of the Business edition license. Do I need to install a license of some sort before installing ActivePerl?

My options, at this point, are to start dissecting the ActiveState install routines (my Business Edition license has expired) or to build Perl from scratch ('seems wrong, considering having paid for this stuff).

It is odd that the AS Perl interpreter and all associated files appear to copy to the desired install directory. I can run '/opt/ActivePerl-5.14/bin/perl -V' and get the expected version info. So, the interpreter, itself, is working. It is like the last step (reloc_perl?, or something similar) is just not managing to do the final adjustments.

I think I'll start dissecting the installer routines. See if I can track down where/how it is failing.

Any input/advice/comments would be welcome.

grahams
ActiveState Staff
Thu, 2014-06-05 07:29

Use "gtar -zxf" instead, and let GNUtar use the right uncompression.

Otherwise, your approach is almost workable. It's best to install the AIX GNUtar and do the "gtar -zxf" on AIX, but you can move the tarball to Linux and extract there.... As long as you don't then use "cp" or "rcp" to move the extracted files back. When they hit a link, both of those tools will create a copy of the linked file instead of preserving a link, and the installer depends on links existing.

The Business Edition license can be installed at any time; it will not change the way the basic Perl works in any way.