1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Installing PDL on Windows

From pdl

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
-
These instructions relate only to perl 5.8/5.10/5.12 and PDL. It's also assumed that you have the PPM utility. If you don't have PPM then you can either install it from [http://search.cpan.org/~murray/PPM/ CPAN] or you'll have to build PDL from source. (To build from source, see Win32\INSTALL in the PDL source distro.)
+
These instructions relate only to perl 5.8 and later. PDL is not supported for perl versions prior to 5.8.0. It's also assumed that you have the PPM utility. If you don't have PPM then you can either install it from [http://search.cpan.org/~murray/PPM/ CPAN] or you'll have to build PDL from source. (To build from source, see Win32\INSTALL in the PDL source distro.)
First up install Astro::FITS::Header and Convert::UU by running:
First up install Astro::FITS::Header and Convert::UU by running:
Line 7: Line 7:
</pre>
</pre>
-
Then install the PGPLOT (optional), OpenGL (recommended) and PDL modules by running, from the command line:
+
Then, for 32-bit builds of perl, install the PGPLOT (optional), OpenGL (recommended) and PDL modules by running, from the command line:
-
 
+
-
For perl 5.8:
+
<pre>
<pre>
-
ppm install http://theoryx5.uwinnipeg.ca/ppms/PGPLOT.ppd
+
ppm install http://www.sisyphusion.tk/ppm/OpenGL.ppd
-
ppm install http://theoryx5.uwinnipeg.ca/ppms/OpenGL.ppd
+
ppm install http://www.sisyphusion.tk/ppm/PGPLOT.ppd
-
ppm install http://theoryx5.uwinnipeg.ca/ppms/PDL.ppd
+
ppm install http://www.sisyphusion.tk/ppm/PDL.ppd
</pre>
</pre>
-
Or for perl 5.10:
+
For 64-bit builds of perl, only perl versions 5.10 and later are supported.
 +
Also, there are currently no PGPLOT packages for these builds - so just run:
<pre>
<pre>
-
ppm install http://cpan.uwinnipeg.ca/PPMPackages/10xx/PGPLOT.ppd
+
ppm install http://www.sisyphusion.tk/ppm/OpenGL.ppd
-
ppm install http://cpan.uwinnipeg.ca/PPMPackages/10xx/OpenGL.ppd
+
ppm install http://www.sisyphusion.tk/ppm/PDL.ppd
-
ppm install http://cpan.uwinnipeg.ca/PPMPackages/10xx/PDL.ppd
+
</pre>
</pre>
-
Or for perl 5.12 (x86):
+
OpenGL ppm packages are also available from other repos, but those packages are usually built against a <b>dynamic</b> freeglut library and they don't work well with the above PDL packages (which expect a <b>static</b> freeglut library). If installing OpenGL, it's therefore advisable to install from the sisyphusion repo, as above.
-
<pre>
+
-
ppm install http://cpan.uwinnipeg.ca/PPMPackages/12xx/PGPLOT.ppd
+
-
ppm install http://cpan.uwinnipeg.ca/PPMPackages/12xx/OpenGL.ppd
+
-
ppm install http://cpan.uwinnipeg.ca/PPMPackages/12xx/PDL.ppd
+
-
</pre>
+
-
 
+
-
Or for perl 5.12 (x64):
+
-
<pre>
+
-
ppm install http://cpan.uwinnipeg.ca/PPMPackages/12xx/OpenGL.ppd
+
-
ppm install http://cpan.uwinnipeg.ca/PPMPackages/12xx/PDL.ppd
+
-
</pre>
+
-
 
+
-
There is currently no PGPLOT package available for the x64 build of PDL.
+
-
 
+
-
OpenGL ppm packages are also available from other repos, but those packages are usually built against a <b>dynamic</b> freeglut library and they don't work well with the above PDL packages (which expect a <b>static</b> freeglut library). If installing OpenGL, it's therefore advisable to install from the uwinnipeg repo, as above.
+
Having installed the relevant ppm package, PLPLOT and PROJ4 support is enabled by setting the PLPLOT_LIB and PROJ_LIB environment variables to the location of the plplot_supp and proj_supp folders (respectively). The ppm post-install script will terminate with a message that tells you the settings these environment variables should take on. (If you missed the message, the two folders will be in your perl/site/lib directory - eg, for most builds of ActivePerl the PLPLOT_LIB environment variable will be set to C:\perl\site\lib\PDL\plplot_supp, and PROJ_LIB will be set to C:\perl\site\lib\PDL\proj_supp.)
Having installed the relevant ppm package, PLPLOT and PROJ4 support is enabled by setting the PLPLOT_LIB and PROJ_LIB environment variables to the location of the plplot_supp and proj_supp folders (respectively). The ppm post-install script will terminate with a message that tells you the settings these environment variables should take on. (If you missed the message, the two folders will be in your perl/site/lib directory - eg, for most builds of ActivePerl the PLPLOT_LIB environment variable will be set to C:\perl\site\lib\PDL\plplot_supp, and PROJ_LIB will be set to C:\perl\site\lib\PDL\proj_supp.)
-
ActiveState also usually provide ppm packages for PDL, but they lack the functionality of the build available from uwinnipeg.ca - eg no Slatec, FFTW, GD, GSL, Minuit, PGPLOT, PLPLOT or PROJ4 support.
+
ActiveState also usually provide ppm packages for PDL, but they lack the functionality of the build available from sisyphusion.tk - eg no Slatec, FFTW, GD, GSL, Minuit, PGPLOT, PLPLOT or PROJ4 support.
-
NOTE 1: If using ppm's gui, you need to exercise care to ensure that the PDL and OpenGL packages are, in fact, being installed from the uwinnipeg repo, not from the ActiveState repo - hence the advice (above) to install these packages using the "ppm install ..." command, instead of using the gui.
+
NOTE 1: If using ppm's gui, you need to exercise care to ensure that the PDL and OpenGL packages are, in fact, being installed from the sisyphusion repo, not from the ActiveState repo - hence the advice (above) to install these packages using the "ppm install ..." command, instead of using the gui.
NOTE 2: The mechanism that allows the PGPLOT module to load is broken in the 5.10.0 DynaLoader.pm.
NOTE 2: The mechanism that allows the PGPLOT module to load is broken in the 5.10.0 DynaLoader.pm.
-
Affected perls are therefore any perl built from 5.10.0 source - eg Strawberry Perl 5.10.0. With ActivePerl, this broken DynaLoader.pm was included in some of their 5.8.x builds, as well as their first 5.10.0 build. The error produced when trying to load the PGPLOT module using this broken DynaLoader.pm begins "Can't locate loadable object for module PGPLOT in @INC ...".
+
Affected perls are therefore any perl built from 5.10.0 source - eg Strawberry Perl 5.10.0. With ActivePerl, this broken DynaLoader.pm was included in some of their 5.8.x builds, as well as their first 5.10.0 build - though the error was fixed in their later builds (eg build 1005) of 5.10.0 . The error produced when trying to load the PGPLOT module using this broken DynaLoader.pm begins "Can't locate loadable object for module PGPLOT in @INC ...".
If you receive that error, then try installing an unbroken DynaLoader.pm (eg by copying one from a perl-5.10.1 installation) - or upgrade your perl to at least 5.10.1
If you receive that error, then try installing an unbroken DynaLoader.pm (eg by copying one from a perl-5.10.1 installation) - or upgrade your perl to at least 5.10.1

Revision as of 02:38, 26 March 2011

These instructions relate only to perl 5.8 and later. PDL is not supported for perl versions prior to 5.8.0. It's also assumed that you have the PPM utility. If you don't have PPM then you can either install it from CPAN or you'll have to build PDL from source. (To build from source, see Win32\INSTALL in the PDL source distro.)

First up install Astro::FITS::Header and Convert::UU by running:

ppm install Astro-FITS-Header
ppm install Convert-UU

Then, for 32-bit builds of perl, install the PGPLOT (optional), OpenGL (recommended) and PDL modules by running, from the command line:

ppm install http://www.sisyphusion.tk/ppm/OpenGL.ppd
ppm install http://www.sisyphusion.tk/ppm/PGPLOT.ppd
ppm install http://www.sisyphusion.tk/ppm/PDL.ppd

For 64-bit builds of perl, only perl versions 5.10 and later are supported. Also, there are currently no PGPLOT packages for these builds - so just run:

ppm install http://www.sisyphusion.tk/ppm/OpenGL.ppd
ppm install http://www.sisyphusion.tk/ppm/PDL.ppd

OpenGL ppm packages are also available from other repos, but those packages are usually built against a dynamic freeglut library and they don't work well with the above PDL packages (which expect a static freeglut library). If installing OpenGL, it's therefore advisable to install from the sisyphusion repo, as above.

Having installed the relevant ppm package, PLPLOT and PROJ4 support is enabled by setting the PLPLOT_LIB and PROJ_LIB environment variables to the location of the plplot_supp and proj_supp folders (respectively). The ppm post-install script will terminate with a message that tells you the settings these environment variables should take on. (If you missed the message, the two folders will be in your perl/site/lib directory - eg, for most builds of ActivePerl the PLPLOT_LIB environment variable will be set to C:\perl\site\lib\PDL\plplot_supp, and PROJ_LIB will be set to C:\perl\site\lib\PDL\proj_supp.)

ActiveState also usually provide ppm packages for PDL, but they lack the functionality of the build available from sisyphusion.tk - eg no Slatec, FFTW, GD, GSL, Minuit, PGPLOT, PLPLOT or PROJ4 support.

NOTE 1: If using ppm's gui, you need to exercise care to ensure that the PDL and OpenGL packages are, in fact, being installed from the sisyphusion repo, not from the ActiveState repo - hence the advice (above) to install these packages using the "ppm install ..." command, instead of using the gui.

NOTE 2: The mechanism that allows the PGPLOT module to load is broken in the 5.10.0 DynaLoader.pm. Affected perls are therefore any perl built from 5.10.0 source - eg Strawberry Perl 5.10.0. With ActivePerl, this broken DynaLoader.pm was included in some of their 5.8.x builds, as well as their first 5.10.0 build - though the error was fixed in their later builds (eg build 1005) of 5.10.0 . The error produced when trying to load the PGPLOT module using this broken DynaLoader.pm begins "Can't locate loadable object for module PGPLOT in @INC ...". If you receive that error, then try installing an unbroken DynaLoader.pm (eg by copying one from a perl-5.10.1 installation) - or upgrade your perl to at least 5.10.1

Personal tools