http://www.perlmonks.org?node_id=532443


in reply to Re: Perl Grant Approved: Improve Perl 5
in thread Perl Grant Approved: Improve Perl 5

Er, perhaps I'm a tad confused, but what exactly is stopping me frmo distributing a compiled perl right now? Activestate seems to manage it..

Replies are listed 'Best First'.
Re^3: Perl Grant Approved: Improve Perl 5
by chromatic (Archbishop) on Feb 24, 2006 at 06:30 UTC

    I have the impression that AS compiles their Perl with an exceedingly long sets of library paths, then edits the binary after installation to use the actual installation paths on that machine. Clever, but a hack.

      No. It's conveniently possible under Windows to get at the path where your executable lives in. ActiveState does patch some modules upon installation, I believe, but patching the Perl.exe executable is not necessary, as long as the relative position of files remains the same.

      C:\Programme\Perl\bin>perl -v This is perl, v5.8.3 built for MSWin32-x86-multi-thread (with 8 registered patches, see perl -V for more detail) Copyright 1987-2003, Larry Wall Binary build 809 provided by ActiveState Corp. http://www.ActiveState. +com ActiveState is a division of Sophos. Built Feb 3 2004 00:28:51 Perl may be copied only under the terms of either the Artistic License + or the GNU General Public License, which may be found in the Perl 5 source ki +t. Complete documentation for Perl, including FAQ lists, should be found +on this system using `man perl' or `perldoc perl'. If you have access to + the Internet, point your browser at http://www.perl.com/, the Perl Home Pa +ge. C:\Programme\Perl\bin>.\perl.exe -e die@INC C:/Programme/Perl/libC:/Programme/Perl/site/lib. at -e line 1. C:\Programme\Perl\bin>Q: Q:\>cd tmp_perl Q:\tmp_perl>xcopy /s C:\Programme\Perl . ... Q:\tmp_perl>cd bin Q:\tmp_perl\bin>.\perl -e die@INC Q:/tmp_perl/libQ:/tmp_perl/site/lib. at -e line 1.

      Update:See the below response - Config.pm of course does not reflect the new directory and thus needs to be patched.

      Yep - if you simply extracted the '.zip' binary builds (rather than install by running 'install.bat' as one is supposed to do) and then ran, eg, 'perl -V:archlib', you'd get:

      archlib='C:\p4view\Apps\ActivePerl\MSI\data\ActivePerl\Perl\lib';

      I imagine it's still the case, though if you try that with recent builds all you get is:

      archlib='C:\TEMP\perl-------------------------------------------please-run-the-install-script------------------------------------------\lib';

      In both cases, installing with 'install.bat' would produce the desired results.

      Cheers,
      Rob