Denali/Mt. McKinley and Brown Bear Software logo
Calcium Documentation - CGI version fix
Horizontal Line

Getting an up-to-date version of CGI.pm

Calcium uses the Perl module CGI.pm; it is a standard part of any Perl installation. Version 2.42 or newer is required, and was released way back in 1998. As of this writing, the latest version is 3.29.

Some hosting companies are still using versions 2.36 - or even older. Also, some other newer versions also have problems. It's usually a fruitless effort to try to convince your hosting company to update; instead, you can install a modern version of CGI.pm for use by your Calcium installation. It doesn't matter what your hosting service has installed, and this won't effect anything else on the server - it will be used only by Calcium.

Here's how to install version 2.752, which is known to work well.

  • First, get the package containing the module. You can download it from:
  • Then, unpackage it into the 'redist' area in your Calcium installation directory, e.g. 'CalciumDir40/redist'

This will produce a file called CGI.pm in that 'redist' directory, as well as a new sub-directory called CGI with various ".pm" files in it. (There will be various other things too, but you only need CGI.pm and the CGI directory.)

Note: Some of the packages will produce a directory/folder named CGI.pm-2.752 in 'redist'. If so, you'll need to move the CGI.pm file and CGI folder from that sub-directory so they're directly in 'redist'. You can then remove the CGI.pm-2.752 sub-directory. (See picture below.)

If you are installing it on a remote host and have only FTP access, you can unpackage the .tar.gz or .zip file on your local machine, and then transfer the CGI.pm file and the CGI directory (and all its files) up. Note: they are all plain ASCII files.

When you're done, the directory should look something like:

     cgi-bin/CalciumDir40/redist
                |
                |
                `--- CGI          <--- new directory
                |     |
                |     |
                |     `---Apache.pm   \
                |     |                \
                |     `---Carp.pm       \
                |     |                  |    <--- new files
                |     `---Cookie.pm     /
                |     |                /
                |     `-... etc ...   /
                |
                |
                `--- CGI.pm       <--- new file
                |
                |
                |
                `--- Mail        <--- directory (already in redist)
                |
                |
                `--- XML         <--- directory (already in redist)

That's all you need to do! Please let us know if you have questions or problems.