glfs/archive/pdl.xml
Xi Ruoyao 45ab6c70c2
more SVN prop clean up
Remove "$LastChanged$" everywhere, and also some unused $Date$
2021-04-20 19:12:02 +08:00

648 lines
26 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!-- Inserted as a reminder to do this. The mention of a test suite
is usually right before the root user installation commands. Please
delete these 12 (including one blank) lines after you are done.-->
<!-- Use one of the two mentions below about a test suite,
delete the line that is not applicable. Of course, if the
test suite uses syntax other than "make check", revise the
line to reflect the actual syntax to run the test suite -->
<!-- <para>This package does not come with a test suite.</para> -->
<!-- <para>To test the results, issue: <command>make check</command>.</para> -->
<!ENTITY pdl-download-http "&sourceforge-repo;/pdl/PDL-&pdl-version;.tar.gz">
<!ENTITY pdl-download-ftp "&gentoo-ftp-repo;/PDL-&pdl-version;.tar.gz">
<!ENTITY pdl-md5sum "edd056a006eae8b46e8ef804b9774a93">
<!ENTITY pdl-size "2.1 MB">
<!ENTITY pdl-buildsize "74 MB">
<!ENTITY pdl-time "2.56 SBU">
]>
<sect1 id="pdl" xreflabel="PDL-&pdl-version;">
<?dbhtml filename="pdl.html" ?>
<sect1info>
<date>$Date$</date>
</sect1info>
<title>PDL-&pdl-version;</title>
<indexterm zone="pdl">
<primary sortas="a-PDL">PDL</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to PDL</title>
<para><application>PDL</application> (Perl Data Language) gives
standard <application>Perl</application> the ability to compactly store
and quickly manipulate the large N-dimensional data arrays common to
scientific computing. <application>PDL</application> turns
<application>Perl</application> into an array-oriented, numerical language
similar to such commercial packages as <application>IDL</application>
and <application>MatLab</application>. One can write simple
<application>Perl</application> expressions to manipulate entire numerical
arrays all at once.</para>
<para><application>PDL</application> provides extensive numerical and
semi-numerical functionality with support for two- and three-dimensional
visualisation as well as a variety of I/O formats. The goal is to allow
<application>PDL</application> to interact with a variety of external
numerical packages, graphics and visualisation systems. Easy interfacing
to such systems is one of the core design features of
<application>PDL</application>.</para>
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&pdl-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&pdl-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &pdl-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &pdl-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &pdl-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &pdl-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">PDL Dependencies</bridgehead>
<para><application>PDL</application> is a collection of over 90
<application>Perl</application> modules. Some of these modules require
additional libraries, packages and/or <application>Perl</application>
modules for full functionality. Listed below are the modules which require
additional software or configuration. If you don't need a particular
module's functionality, you don't need to install its dependencies. The
dependency tree for each module is listed downward, meaning you'll need to
start at the bottom of a module's tree and work up. The dependencies are
listed in the same order as they are in the
<filename>DEPENDENCIES</filename> file, found in the package source
tree.</para>
<para>This package (and many of the dependency packages) requires a Fortran
compiler for full functionality of all the different modules. The
<command>gfortran</command> compiler installed with the current BLFS
version of <application>GCC</application> (&gcc-version;) will not work. If
you want to compile the parts of this package that require a Fortran
compiler, you'll need to install a
<application>GCC</application>-3.x.x version of Fortran. The
<application>GCC</application> developers recommend using Fortran from
<application>GCC</application>-3.4.6. You can find specific instructions
to install a <application>GCC</application>-3.4.6 compiler on the
<ulink url="&blfs-wiki;/gcc3">BLFS
Wiki</ulink>. <!-- Alternatively, if you have a need to install
<xref linkend="gcc3"/>, you can add the Fortran compiler to the list of
compilers installed in those instructions. Don't forget to put the
directory containing the <command>{g,f}77</command> commands at the
beginning of your <envar>PATH</envar> environment variable before
beginning the compilation.--> </para>
<bridgehead renderas="sect4">PDL::NiceSlice</bridgehead>
<para>The <application>PDL</application>::NiceSlice module is used to
enhance <application>PDL</application>'s slice syntax.
<quote>Slicing</quote> is a term used in the process of creating a
cross-section, or slice, of a <application>PDL</application> object
(piddle).</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/P/PM/PMQS/Filter-&Filter-version;.tar.gz">
Filter-&Filter-version;</ulink></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">Inline::Pdlpp</bridgehead>
<para>The Inline::Pdlpp module allows you to define fast PP
code inline in your scripts.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/I/IN/INGY/Inline-&Inline-version;.tar.gz">
Inline-&Inline-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/D/DC/DCONWAY/Parse-RecDescent-&Parse-RecDescent-version;.tar.gz">
Parse-RecDescent-&Parse-RecDescent-version;</ulink></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">Perldl</bridgehead>
<para><command>perldl</command> is a simple shell (written in
<application>Perl</application>) which allows interactive
use of <application>PDL</application>.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-&Term-ReadLine-Gnu-version;.tar.gz">
Term-ReadLine-Gnu-&Term-ReadLine-Gnu-version;</ulink></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Graphics::TriD</bridgehead>
<para>The <application>PDL</application>::Graphics::TriD module implements
a generic 3D plotting interface for <application>PDL</application>. Points,
lines and surfaces (among other objects) are supported.</para>
<itemizedlist spacing='compact'>
<listitem>
<para>OpenGL (<xref linkend="x-window-system"/>)</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Graphics::PGPLOT</bridgehead>
<para>The <application>PDL</application>::Graphics::PGPLOT module is a
convenience interface to the <application>PGPLOT</application> commands,
implemented using the object oriented <application>PGPLOT</application>
plotting package in the PDL::Graphics::PGPLOT::Window module.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/K/KG/KGB/PGPLOT-&PGPLOT-perl-version;.tar.gz">
PGPLOT-&PGPLOT-perl-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/K/KG/KGB/ExtUtils-F77-&ExtUtils-F77-version;.tar.gz">
ExtUtils-F77-&ExtUtils-F77-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="&blfs-wiki;/gcc3">a Fortran
compiler</ulink></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><ulink
url="http://astro.caltech.edu/~tjp/pgplot/">PGPLOT</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="x-window-system"/>,
<!-- <xref linkend="lesstif"/>, -->
<ulink url="http://sourceforge.net/projects/lesstif/">LessTif</ulink>,
<xref linkend="tk"/>, and <ulink
url="&blfs-wiki;/gcc3">a Fortran
compiler</ulink></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Graphics::PLPLOT</bridgehead>
<para>The <application>PDL</application>::Graphics::PLPLOT module is a
simple interface to the <application>PLplot</application> plotting library.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink url="http://plplot.sourceforge.net/">PLplot</ulink></para>
<itemizedlist>
<listitem>
<para><!-- <xref linkend="pkgconfig"/>, -->
<xref linkend="x-window-system"/>,
<xref linkend="freetype2"/>,
<ulink url="http://www.boutell.com/gd/">GD</ulink>,
<ulink url="http://www.svgalib.org/">SVGAlib</ulink>,
<!-- <xref linkend="gnome-libs"/>, -->
<ulink url="&gnome-download-http;/gnome-libs/1.4/">GNOME
Libraries-1.4</ulink>,
<xref linkend="openjdk"/>, <!-- or <xref linkend="jdk"/>, -->
<xref linkend="tk"/>,
<xref linkend="python2"/> (with
<ulink url="http://www.numpy.org/">Numeric Python</ulink>),
<ulink url="&blfs-wiki;/gcc3">a
Fortran compiler</ulink>,
<ulink url="http://www.swig.org/">SWIG</ulink>, and
<ulink url="http://sourceforge.net/projects/incrtcl/">iTcl</ulink></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Graphics::IIS</bridgehead>
<para>The <application>PDL</application>::Graphics::IIS
module provides an interface to any image display <quote>device</quote>
which supports the <quote>IIS protocol</quote>.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://tdc-www.harvard.edu/software/saoimage.html">SAOimage</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="x-window-system"/></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><ulink
url="http://iraf.noao.edu/iraf/web/projects/x11iraf/x11iraf.html">X11
IRAF</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="x-window-system"/> and
<xref linkend="tk"/></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Graphics::Karma</bridgehead>
<para>The <application>PDL</application>::Graphics::Karma
module is an interface to <application>Karma</application> visualisation
applications.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.atnf.csiro.au/computing/software/karma/">Karma</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="x-window-system"/></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<para><emphasis>Note:</emphasis> You may need to modify the
<option>WHERE_KARMA =&gt; undef</option> line in the source tree
<filename>perldl.conf</filename> file to point to your installation
of <application>Karma</application></para>
<bridgehead renderas="sect4">PDL::IO::Pic</bridgehead>
<para> The <application>PDL</application>::IO::Pic module implements I/O
for a number of popular image formats by exploiting the
<command>xxxtopnm</command> and <command>pnmtoxxx</command>
converters from the <application>Netpbm</application> package and the
<command>cjpeg</command> and <command>djpeg</command> converters.
It also contains the routine wmpeg to write MPEG movies from piddles
representing image stacks.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink url="http://netpbm.sourceforge.net/">Netpbm</ulink>,
<xref linkend="libjpeg"/> and
<ulink url="ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/encode/">
mpeg_encode</ulink></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Slatec</bridgehead>
<para> The <application>PDL</application>::Slatec module serves the dual
purpose of providing an interface to parts of the slatec library and showing
how to interface <application>PDL</application> to an external library.
The module provides routines to manipulate matrices, calculate FFTs, fit
data using polynomials, and interpolate/integrate data using piecewise
cubic Hermite interpolation.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/K/KG/KGB/ExtUtils-F77-&ExtUtils-F77-version;.tar.gz">
ExtUtils-F77-&ExtUtils-F77-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="&blfs-wiki;/gcc3">a Fortran
compiler</ulink></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::GSL</bridgehead>
<para> The <application>PDL</application>::<application>GSL</application>
module is an interface to the functions provided by the Gnu Scientific Library.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><xref linkend="gsl"/></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::FFTW</bridgehead>
<para> The <application>PDL</application>::<application>FFTW</application>
module is a means to interface <application>PDL</application> with the
<application>FFTW</application> library. It's similar to the standard FFT
routine but it's usually faster and has support for real transforms. It works
well for the types of piddles for which the library was compiled (otherwise it
must do conversions).</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink url="http://www.fftw.org/">FFTW-2.x</ulink></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::IO::Browser</bridgehead>
<para>The <application>PDL</application>::IO::Browser module
is a 2D cursor terminal data browser for piddles.</para>
<para>There is no additional software required to use the module. However,
the default is to not install the module because some platforms don't provide
a curses compatible library. To enable the module, issue the following
command:</para>
<screen><userinput>sed -i -e "s/WITH_IO_BROWSER =&gt; 0/WITH_IO_BROWSER =&gt; 1/" \
perldl.conf</userinput></screen>
<bridgehead renderas="sect4">PDL::IO::NDF</bridgehead>
<para>The <application>PDL</application>::IO::NDF module adds the ability to
read and write Starlink N-dimensional data files as N-dimensional piddles.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/A/AA/AALLAN/Astro-FITS-Header-&Astro-FITS-Header-version;.tar.gz">
Astro-FITS-Header-&Astro-FITS-Header-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/P/PR/PRATZLAFF/Astro-FITS-CFITSIO-&Astro-FITS-CFITSIO-version;.tar.gz">
Astro-FITS-CFITSIO-&Astro-FITS-CFITSIO-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://heasarc.gsfc.nasa.gov/docs/software/fitsio/">CFITSIO</ulink></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><ulink
url="&files-anduin;/sources/NDF-&NDF-version;.tar.gz">
NDF-&NDF-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="&files-anduin;/sources/Starlink-Config-&Starlink-Config-version;.tar.gz">
Starlink-Config-&Starlink-Config-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="&files-anduin;/sources/Starlink_IMG.tar.gz">
Starlink IMG</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="&files-anduin;/sources/Starlink_NDF.tar.gz">
Starlink NDF</ulink> (requires the following Starlink
modules installed in this order, some will already be
installed if you installed Starlink GSD):
<ulink url="&files-anduin;/sources/Starlink_HTX.tar.gz">
HTX</ulink>,
<ulink url="&files-anduin;/sources/Starlink_SAE.tar.gz">
SAE</ulink>,
<ulink url="&files-anduin;/sources/Starlink_HLP.tar.gz">
HLP</ulink>,
<ulink url="&files-anduin;/sources/Starlink_CNF.tar.gz">
CNF</ulink>,
<ulink url="&files-anduin;/sources/Starlink_SLA.tar.gz">
SLA</ulink>,
<ulink url="&files-anduin;/sources/Starlink_CHR.tar.gz">
CHR</ulink>,
<ulink url="&files-anduin;/sources/Starlink_EMS.tar.gz">
EMS</ulink>,
<ulink url="&files-anduin;/sources/Starlink_PSX.tar.gz">
PSX</ulink>,
<ulink url="&files-anduin;/sources/Starlink_HDS.tar.gz">
HDS</ulink>,
<ulink url="&files-anduin;/sources/Starlink_PCS.tar.gz">
PCS</ulink>,
<ulink url="&files-anduin;/sources/Starlink_MER.tar.gz">
MER</ulink>,
<ulink url="&files-anduin;/sources/Starlink_PRM.tar.gz">
PRM</ulink>,
<ulink url="&files-anduin;/sources/Starlink_PAR.tar.gz">
PAR</ulink>,
<ulink url="&files-anduin;/sources/Starlink_ARY.tar.gz">
ARY</ulink>,
<ulink url="&files-anduin;/sources/Starlink_AST.tar.gz">
AST</ulink>)</para>
<itemizedlist>
<listitem>
<para><ulink
url="&blfs-wiki;/gcc3">a
Fortran compiler</ulink></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><ulink
url="&files-anduin;/sources/GSD-&GSD-version;.tar.gz">
GSD-&GSD-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="&files-anduin;/sources/Starlink-Config-&Starlink-Config-version;.tar.gz">
Starlink-Config-&Starlink-Config-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="&files-anduin;/sources/Starlink_GSD.tar.gz">
Starlink GSD</ulink> (requires the following Starlink
modules installed in this order:
<ulink url="&files-anduin;/sources/Starlink_HTX.tar.gz">
HTX</ulink>,
<ulink url="&files-anduin;/sources/Starlink_SAE.tar.gz">
SAE</ulink>,
<ulink url="&files-anduin;/sources/Starlink_CNF.tar.gz">
CNF</ulink>,
<ulink url="&files-anduin;/sources/Starlink_CHR.tar.gz">
CHR</ulink>,
<ulink url="&files-anduin;/sources/Starlink_EMS.tar.gz">
EMS</ulink>,
<ulink url="&files-anduin;/sources/Starlink_PRM.tar.gz">
PRM</ulink>)</para>
<itemizedlist>
<listitem>
<para><ulink
url="&blfs-wiki;/gcc3">a
Fortran compiler</ulink></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/pdl"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of PDL</title>
<para>Install <application>PDL</application> (and all the dependency
<application>Perl</application> modules) by running the following commands:</para>
<screen><userinput>sed -i 's/\(dirname);\)/\1\nuse blib;/' Demos/BAD*demo.pm.PL &amp;&amp;
perl Makefile.PL &amp;&amp;
make &amp;&amp;
make test</userinput></screen>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><command>sed -i '...' Demos/BAD*demo.pm.PL</command>: This is
necessary to fix a build issue caused by changes in
ExtUtils::MakeMaker-6.30 which was introduction in
<application>Perl</application>-5.8.8.</para>
</sect2>
<sect2 role="configuration">
<title>Configuring PDL</title>
<sect3 id="pdl-config">
<title>Config Files</title>
<para><filename>~/.perldlrc</filename> and
<filename>local.perldlrc</filename> in the current directory</para>
<indexterm zone="pdl pdl-config">
<primary sortas="e-AA.perldlrc">~/.perldlrc</primary>
</indexterm>
<indexterm zone="pdl pdl-config">
<primary sortas="e-local.perldlrc">local.perldlrc</primary>
</indexterm>
</sect3>
<sect3>
<title>Configuration Information</title>
<para>See <ulink
url="http://pdl.sourceforge.net/PDLdocs/perldl.html#the startup file ~/.perldlrc"/>
for information about configuring <command>perldl</command> to suit your
needs.</para>
</sect3>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Modules</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>pdl, pdldoc, perldl, and pptemplate</seg>
<seg>90+ individual <application>Perl</application> modules</seg>
<seg>/usr/lib/perl5/site_perl/&lfs-perl-version;/i686-linux/{,auto/}PDL</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="pdl-prog">
<term><command>pdl</command></term>
<listitem>
<para>is a binary program called from
<application>PDL</application> scripts which is used to
interface <command>perldl</command>.</para>
<indexterm zone="pdl pdl-prog">
<primary sortas="b-pdl">pdl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pdldoc">
<term><command>pdldoc</command></term>
<listitem>
<para>is a shell interface to
<application>PDL</application> documentation.</para>
<indexterm zone="pdl pdldoc">
<primary sortas="b-pdldoc">pdldoc</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="perldl">
<term><command>perldl</command></term>
<listitem>
<para>is a simple shell (written in <application>Perl</application>)
for interactive use of <application>PDL</application>.</para>
<indexterm zone="pdl perldl">
<primary sortas="b-perldl">perldl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pptemplate">
<term><command>pptemplate</command></term>
<listitem>
<para>is a script to generate <filename>Makefile.PL</filename>
and PP file skeletons.</para>
<indexterm zone="pdl pptemplate">
<primary sortas="b-pptemplate">pptemplate</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>