PPM gives me a 401 Authorization Required. Why?
UPDATE (Oct 2016): This FAQ was originally posted in 2010. If you are running a version of ActivePerl that gets a 401 error when it contacts a Business Edition Only repository, our advice has evolved. Now, you should replace that ActivePerl.
A "401" error when contacting PPM should now be treated as a indication of obsolesence.
Later versions of ActivePerl that fully support Business Edition Licences have a more informative error message instead of the basic "401". Old ActivePerls that can only report a "401" will not support a Business Edition licence if one is installed. An ActivePerl that reports a "401" from PPM is probably not compatible with your current operating system either.
The repository you are accessing contains exclusively Business Edition content. If you do not have a Business Edition license installed on the system, the PPM server will advise that you are not permitted to access the directory.
Perl versions move into Business Edition when the Perl Community is no longer actively supporting that version of Perl. ActiveState policy for PPM is that free and open access to PPM binary modules for versions that have moved entirely into Business Edition will continue for *at least* six months beyond the date at which the no Community Edition versions of that Perl are available.
All versions of Perl 5.8 and 5.10 required Business Edition licensing in 2010. ActivePerl 5.8 builds older than build 829, and ActivePerl 5.10 builds older than 1008 must use the manual download process described in this FAQ:
All versions of Perl 5.12 required Business Edition licenses as of September 2012. All ActivePerl 5.12 builds can use the normal PPM client with a Business Edition license installed, or the manual download process.
ActivePerl 5.14 requires a Business Edition license as of October 2013 for access to installers. PPM access for modules other than the installers remains free as of December 2013.
I have a server without internet access, and I need to download and manually install modules.
***Manual Downloads of PPMX files now require a Business Edition license.***
Go to the PPM index page for the module you want, for example, for DBD-MySQL go to:
Select the version of Perl you need a module for, by platform and by Perl major revision number.
If the module has built successfully, you will see a green circle with a check mark. If if has not built, the circle will be red with an exclamation mark.
You can expand green circle or red circle links. The drill-down page will show you links to the build logs for each version of the modules the system has attempted to build. If the circle was green, and a version of the module sucessfully built, there will be a "ppmx" link on the right side for each successful build.
Clicking the ppmx link will open a screen which prompts for a username and password. To proceed past this point, you must have a Business Edition license.
The USERID and PASSWORD are *not* the same as the userID and password you use for posting to this forum, or accessing the rest of the ActiveState site. For Business Edition manual downloads, you must find these values in your Business Edition license file. To find your license file:
Scan the license file for the line which shows "|ActivePerl BE|".
Immediately following that field will be another field which starts with "|APIPassword#". The value after that tag is your PASSWORD for Business Edition manual downloads.
Further along in the same line is another field which starts with "|SerialNo#". The value after that tag is your USERID for Business Edition manual downloads.
If your license is Active and you are an End User linked to the Serial Number, you may also query your My Account page for the API password value.
Once you have the PPMX files downloaded, installing a module from PPMX files is documented here:
I have installed the module Tk-TableMatrix 1.23 ( Installed from AS, using
AS Perl Package Manager). All my scripts using this module are broken. I
have tried to run the "demo" scripts provided in the package. And no matter
which one I run. I get the following message.
--> perl -w basic.pl
Tk::TcldeclsVtab wrong size for TcldeclsVtab at
C:/PRG/Perl/lib/DynaLoader.pm line 252.
Tk::TkeventVtab wrong size for TkeventVtab at C:/PRG/Perl/lib/DynaLoader.pm
You need a version of Tk-TableMatrix 1.23 that is compiled against Tk 804.x.
When the Tk shipped with ActivePerl was updated to 804.x in the middle of the 5.8.x series, it was recognized that modules which depended on Tk would need to be recompiled. Doing so would, however, makes those modules incompatible with older releases still using Tk 802.x. Since PPM only supports one version of any given module revision per repository, all those older 5.8.x releases would have lost their PPM sources.
Improvements to the functionality of PPM are envisioned which will allow dependency based selection of module versions. For now, the workaround has been to distribute different versions of these modules with compatibility issues from different PPM repositories, some of which are not maintained by ActiveState.
Modules with dependencies on Tk802.x will continue to be available at ActiveState. Modules with dependencies on Tk804.x are available from Randy Kobes' University of Winnipeg PPM repositories:
I'm trying to browse the PPM website. Why am I getting an Internal Server Error?
The PPM server has two interfaces. The first is a SOAP interface that is used by the PPM client, at this url:
The second is a regular web interface for your browser. The SOAP interface uses the URL shown above and will give an error if you try to access it using a browser. The URL for the regular web interface is:
When I try to run PPM 4 in graphical mode it complains that it can't find the widget::statusbar package and exits. How do I make this work?
The problem is likely that you have the PERL_TCL_DLL environment variable set. This variable is set when you are using the Tkx GUI toolkit. PPM 4 also uses Tkx, but has its own version of Tkx bundled; hence, the environment variable points PPM 4 away from its version and to your ActiveTcl installation, which doesn't have all of the files necessary to run PPM 4.
The solution is to unset that environment variable before running PPM 4.
I can't see any HTML documentation for installed packages (Windows XP SP2). Why?
This is a known issues with Internet Explorer 6 on Windows XP
(Service Pack 2). The documentation for modules installed using PPM will
not display because of security settings in IE. To regenerate your docs
so that they will be properly displayed:
perl -MActivePerl::DocTools -e ActivePerl:: DocTools::UpdateHTML()