INSTALLATION
------------

To install PDL on your machine, first check that you have a recent
enough version of Perl, 5.8.x and above is recommended. Absolute
minimum is 5.6.2+ but the use of perl 5.6.x is deprecated.

See win32/INSTALL for details on installing PDL on windows platforms.

See cygwin/INSTALL for details on installing PDL on cygwin platforms.

The file DEPENDENCIES summarizes the dependencies of various
PDL modules on libraries/other packages. The location of
some of these files needs to be specified in the file perldl.conf.

PDL depends on a number of other Perl modules for feature complete
operation. These modules are generally available at the CPAN. The
easiest way to resolve these dependencies is to use the CPAN module to
install PDL. Installation should be as simple as

  cpan install PDL   # if the cpan script is in your path

or if you don't have the cpan script try

  perl -MCPAN -e shell
  cpan> install PDL

NOTE: if this is your first time running the cpan shell, you'll be
propted to configure the running environment.


perldl.conf
-----------

Edit the file perldl.conf in the current directory to specify
configuration options for building PDL. This file is
self-documenting.

Note: If you are happy with your perldl.conf you can keep the file
handy for future reference. Place it in ~/.perldl.conf where
it will be picked up automatically or use 

    perl Makefile.PL PDLCONF=your_conf_file

next time. However, check if new config flags were introduced
when installing a new version of PDL by consulting its perldl.conf .

After editing the configuration options just say

	perl Makefile.PL

in the directory this file is in. (See 'perldoc ExtUtils::MakeMaker'
for info on how to configure the installation location, etc.)
and if that seems ok, try:
	make

If there are any strange error messages, please contact the developers
with a full bug report; response is often rapid (we would like to have
PDL work right out of the box on as many platforms as possible).

NOTE: Build failures have been reported with parallel
      make options such as -j # and their ilk.

If make completed correctly, try doing

	make test

to run the regression tests. Again, if there are errors, please contact
the developers (via the pdl-porters mailing list, see Basic/Pod/FAQ.pod).

If everything works and you wish to install PDL type

   make install

There is also another make item:

   make doctest

creates the documentation database for use in the perldl shell.


f77 configuration
-----------------

f77 configuration information is normally picked up from ExtUtils::F77
to build modules like PDL::Slatec that rely on a working fortran compiler.
In cases where you don't want to rely on ExtUtils::F77 for one reason
or another (win32 build) there is now the config variable F77CONF.
It is supposed to point to a perl file that implements a minimal F77Conf
class (see debian/f77conf.pl for an example). The use of F77CONF is
similar to the PDLCONF variable, e.g.

   perl Makefile.PL F77CONF=debian/f77conf.pl

Note that almost always it is better to use ExtUtils::F77. Only use the
F77CONF mechanism if you have a good reason to. Win32 is special. See
win32/INSTALL.


COMMON PROBLEMS
---------------

The build process has been significantly cleaned up since
PDL-2.4.3.  If you have any problems, please submit a bug
report (see the BUGS file for directions).

You may also contact the PDL users and developers via the
PDL mailing lists.  See

   http://pdl.sourceforge.net/maillists/

to get started.  Searchable archives of the lists are
linked to from the same page.
