Welcome, and thank you for downloading ActivePerl. This release corresponds to Perl version 5.8.8.
Note: ActivePerl 800 series builds are not binary-compatible with the older 600 series builds. In particular, do not attempt to use extensions or PPM packages built for the 600 series builds with ActivePerl 800 series builds and vice versa.
The following platforms are supported by this release:
AIX 5.1 or later (rs6000)
Linux: glibc 2.2 or later (x86)
Linux: glibc 2.3 or later (x64)
Mac OS X 10.3 "Panther" or later (x86 or powerpc)
Solaris 2.6 or later (sparc, 32 and 64 bit)
Solaris 10 or later (x86)
Windows 9x, Me, NT, 2000 (x86)
Windows XP and 2003 (x86 and x64)
For a chronological list of changes included in this and past releases, see the ActivePerl 5.8 Change Log.
The rewritten PPM client is the main new feature for ActivePerl 818. The main user visible change will be that the command line shell is replaced by a graphical user interface.
The ppm
command continues to work as a command line utility.
Run perldoc ppm
or ppm help
for details about what subcommands
are available and how they behave.
PPM manages packages installed in different install areas. These areas are used to separate the packages that come bundled with ActivePerl from the packages that are installed locally. This also allows users to install packages into their home directory when using a shared ActivePerl installation which the user does not have permissions to modify.
There are two install areas that always are present for an
ActivePerl installation: perl
and site
. The perl interpreter
itself, the core modules, and packages bundled by ActiveState are in the
perl
install area. The site
install area is where the local
administrator installs additional packages. This area starts out empty
in a new installation of ActivePerl.
Earlier releases of PPM effectively only managed the site
install
area. This area also contained the bundled packages as well as the PPM
client itself which created problems in upgrading any of these packages
(you had to be very careful not to break PPM itself). This also
prevented ActiveState from providing updates to the core and bundled
packages in our repository. The new separation solves this problem.
Use the ppm area list
command to display which install areas are
currently available. Use the ppm list
command to display what
packages are currently installed. Use the ppm list site
command to
see what additional packages are installed in the site
area. Use
the ppm install
command to install additional packages and
ppm help install
to learn more about how installation works.
Perl 5.8 is not binary compatible with Perl 5.6. Please check Incompatible Changes in the perl58delta manpage for known source level incompatibilities between the Perl 5.8 releases and the earlier releases in the Perl 5.6 series.
Please check Incompatible Changes in the perl581delta manpage, Incompatible Changes in the perl582delta manpage, and Incompatible Changes in the perl584delta manpage, for additional minor incompatible changes made in Perl 5.8.1, Perl 5.8.2 and Perl 5.8.4 respectively.
The order of the directories in @INC
has changed since build 817 of
ActivePerl. The $PREFIX/site/lib directory is now searched for
modules before $PREFIX/lib. This means that core modules might be
shadowed by what is installed locally and these updates might bring
incompatibilities that break applications only tested against the
original core module.
All modules that ActivePerl bundled in addition to the core modules are now installed in $PREFIX/lib. For ActivePerl build 817 and earlier these where installed in $PREFIX/site/lib.
The $Config{siteprefix} is now $PREFIX/site. For ActivePerl build
817 and earlier it used to be just $PREFIX and then $Config{sitelib}
compensated by introducing the site level. As a consequence
programs included with packages installed into the site
area now
get installed in $PREFIX/site/bin. For ActivePerl build 817 and
earlier these where installed in $PREFIX/bin. Note that the
$PREFIX/site/bin directory is not automatically added to the PATH
environment variable by the Windows installer. Another consequence of
the $Config{siteprefix} update is that modules configured and built
with perl Makefile.PL PREFIX=...
now get installed directly in the
lib directory of the given PREFIX
.
The new PPM client is a complete rewrite of PPM version 3 that was distributed with ActivePerl build 817 and earlier releases (see above). The following incompatibilities exist:
Running ppm
without arguments now bring up a graphical user
interface; there is no more console shell.
The output format of most commands have changed. Scripts that parse
the output of ppm
need to change.
ppm describe
only takes a number as argument. The other forms
will not be supported.
ppm install
without argument does not install a default package and
does not support the range argument. The --follow
and
--no-follow
options are not supported.
ppm profile
, ppm properties
, ppm set
, ppm target
, and
ppm tree
commands are not supported.
ppm repo up
and ppm repo down
commands are not supported.
ppm search
does not support the field=glob syntax.
SOAP-based repositories are no longer supported in PPM.
There are some known outstanding issues with the new PPM client:
Packages using post install scripts can't be installed from the GUI. The workaround is to use the command line version of ppm to install these packages.
The "Upgradable View" show packages that would downgrade the installation if installed.
List icons will sometimes not repaint properly after scrolling under X11. This does not affect the Windows and Mac OS X builds.
Installing modules that PPM depends on with make install UNINST=1
manually or from the CPAN shell will break PPM as this will remove
modules from the perl
install area. PPM always ignore modules in
site
or user defined areas in order to protect its integrity.
Workaround is to install without specifying the UNINST=1
option.
Running sudo ppm ...
the first time ppm
is invoked from a
regular user account on Unix will create a root owned state
database. This effectively makes the database read-only when running
ppm
without sudo
, and might manifest itself as Application Error
dialogs when running the GUI. Workaround is to run sudo chown -R
$USER ~/.ActivePerl
once to fix up ownership of the state database.
Sync of repository state might be slow. (#45830)
No PPM GUI for the 64 bit versions of ActivePerl.
If you find other issues with the new PPM client, please report them at http://bugs.ActiveState.com/ActivePerl/.
The following issues are know to exists when installing ActivePerl on AIX:
The reloc_perl script does not correctly update the perl-dynamic executable. The workaround is to install directly from the tarball into the new location.
The following issues are know to exists when installing ActivePerl on Unix:
Some versions of tar on Solaris have bugs that prevent proper extraction of files in a package that has long path names. Most other versions of tar on Solaris use a different method than GNU tar to encode pathnames longer than 100 characters. GNU tar is therefore required to extract the package into the file system correctly. A precompiled version of GNU tar for the sparc platform is available from:
http://www.sunfreeware.com/
You can also get the source package for GNU tar from:
http://www.gnu.org/
The suidperl executable is not included in this package due to potential security issues. If you wish to use suidperl in your installation, we recommend building Perl from source. The source code for ActivePerl is available at:
http://www.ActiveState.com
Perl library paths, and thus PPM Areas, defined in the shell by the PERL5LIB environment variable are not available to PPM when it is launched by clicking the PPM icon in OS X. To to make this variable available in the OS X GUI, add an entry similar to the following to ~/.MacOSX/environment.plist:
<key>PERL5LIB</key> <string>/path/to/perl/lib</string>
Running sudo ppm
or sudo ppm gui
does not start up the GUI with
root privileges. Use ppm
as a command line tool with sudo
.
On version 10.3 or earlier, running ppm
without arguments from a
remote console (e.g. via ssh) causes a core dump as it attempts to
launch the PPM GUI instead of providing an informative "ppm gui failed"
error.
The following issues are know to exists when installing ActivePerl on Windows:
The fork()
emulation has known limitations. See the perlfork manpage for a
detailed summary. In particular, fork()
emulation will not work
correctly with extensions that are either not thread-safe, or maintain
internal state that cannot be cloned in the pseudo-child process. This
caveat currently applies to extensions such as Tk and Storable.
It seems that some people are having problems with the ActivePerl MSI installer. The first thing to note is that you CANNOT install ActivePerl 5.8 over an older version of ActivePerl based on 5.6 or 5.005, such as build 633 or any other 600 or 500 series build. We have determined that some of these problems are due to other installations of Perl that may be pointed at by something in the environment.
The sure-fire solution is to make absolutely certain that no other installations of Perl are on the target machine. Realizing that this is not always possible, you can follow these steps to ensure the other installations will not interfere.
Stop the "Windows Installer" service. This can be accomplished from the command prompt using the following command:
c:\> net stop "Windows Installer"
Temporarily remove or rename PERLLIB and PERL5LIB environment variables in the system environment.
Temporarily remove or rename the following registry values:
[\\HKEY_LOCAL_MACHINE\Software\Perl] lib = <directory> (REG_SV) [\\HKEY_LOCAL_MACHINE\Software\Perl] sitelib = <directory> (REG_SV) [\\HKEY_LOCAL_MACHINE\Software\Perl] lib-<PerlVersion> = <directory> (REG_SV) [\\HKEY_LOCAL_MACHINE\Software\Perl] sitelib-<PerlVersion> = <directory>(REG_SV)
Proceed with the installation.
Once the installation has completed successfully, the above actions may be undone although restoring the environment variables or the registry values may interfere with the proper operation of your new ActivePerl installation. In order to perform all of the above steps, you will need to have Administrative privileges on the target machine. If you do not have the required privileges you should contact you Administrator.
The following Microsoft knowledge base articles may be helpful in solving MSI problems:
http://support.microsoft.com/support/kb/articles/Q224/0/94.ASP
http://support.microsoft.com/support/kb/articles/Q247/5/32.ASP
http://support.microsoft.com/support/kb/articles/Q228/6/58.ASP
http://support.microsoft.com/support/kb/articles/Q228/5/92.ASP
http://support.microsoft.com/support/kb/articles/Q217/6/66.ASP
On Windows 9x, the system must be rebooted for the PATH environment variable to take effect.
On Windows 9x, the PATH environment variable settings are not removed after an uninstall.
The Perl distribution comes with extensive documentation. On Unix platforms, all the standard documentation is installed as man pages under the Perl install location. The location of the man pages may need to be added to the MANPATH environment variable in order to access them. For example, in the C shell:
% setenv MANPATH /opt/ActivePerl-5.8/man:$MANPATH
The documentation is installed in HTML format on all platforms. If ActivePerl was installed in /opt/ActivePerl-5.8 then the HTML documentation would be located in /opt/ActivePerl-5.8/html.
On Windows, the standard documentation along with Windows-specific Perl documentation is installed in HTML format, and is accessible from the "Start" menu.
Updated versions of the HTML documentation will always be available at the ActiveState website:
http://www.ActiveState.com/ActivePerl/
Please report any problems you encounter with this release at the following location:
http://bugs.ActiveState.com/ActivePerl/
If you do not have web access, reports can be also sent via email to ActivePerl-Bugs@ActiveState.com. Please be sure to include detailed information about the platform in your message.
As far as possible, please ensure that there is enough information in the report to reproduce the bug elsewhere. It also helps to submit a minimal test case that exhibits the bug.