work on PRINT encoding
[pspp] / INSTALL
diff --git a/INSTALL b/INSTALL
index 5d79c55e44109acb8e00ab5859ac2a03220e6fec..183487025131b0307a127328dae1b44561dbf7a1 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -4,6 +4,23 @@ Installation Instructions for GNU pspp
 These instructions are based on the generic GNU installation
 instructions, but they have been tailored for PSPP.
 
+Overview
+========
+
+PSPP uses the standard GNU configuration system.  Therefore, if all is well,
+the following simple procedure should work, even on non-GNU systems:
+
+ tar -xzf pspp-*.tar.gz
+ cd pspp-*
+ ./configure
+ make 
+ sudo make install
+
+Obviously, you should replace 'pspp-*' in the above, with the name of
+the tarball you are installing.  If any part of this process fails, then 
+it's likely that one or more of the necessary prerequisites is missing
+from your system.   Read on to find out how to correct this.
+
 Before You Install
 ==================
 
@@ -24,7 +41,7 @@ The following packages are required to install PSPP:
       MinGW (http://www.mingw.org/) are known to work.
 
     * The GNU Scientific Library (http://www.gnu.org/software/gsl/),
-      version 1.6 or later, including libgslcblas included with GSL.
+      version 1.8 or later, including libgslcblas included with GSL.
 
     * Perl (http://www.perl.org/), version 5.005_03 or later.  Perl is
       required during build but not after installation.
@@ -33,12 +50,17 @@ The following packages are required to install PSPP:
       If you don't have a version already, you can install GNU
       libiconv (http://www.gnu.org/software/libiconv/).
 
-The following package is required to enable PSPP's graphing features.
-If you cannot arrange to install it, you must run `configure' with
---without-libplot.
+    * libintl, from GNU gettext (http://ww.gnu.org/software/gettext).
+      GNU libc includes an integrated libintl, so there is no need to
+      separately install libintl on a GNU/Linux system.
+
+The following packages are required to enable PSPP's graphing
+features.  If you cannot arrange to install them, you must run
+`configure' with --without-cairo.
+
+    * Cairo (http://cairographics.org/), version 1.5 or later.
 
-    * libplot, from GNU plotutils
-      (http://www.gnu.org/software/plotutils/).
+    * Pango (http://www.pango.org/), version 1.22 or later.
 
 The following packages are required to enable PSPPIRE, the graphical
 user interface for PSPP.  If you cannot install them or do not wish to
@@ -50,20 +72,22 @@ use the GUI, you must run `configure' with --without-gui.
 
     * GTK+ (http://www.gtk.org/), version 2.12.0 or later.
 
-    * libglade (http://www.jamesh.id.au/software/libglade/), version
-      2.6 or later.
+    * GtkSourceView (http://projects.gnome.org/gtksourceview/) 
+      version 2.2 or later.
+
 
 Installing the following packages will allow your PSPP binary to read
 Gnumeric files.
 
-    * pkg-config (http://pkg-config.freedesktop.org/wiki/).  Versions
-      0.18 and 0.19 have a bug that will prevent library detection,
-      but other versions should be fine.
-
     * zlib (http://www.zlib.net/).
 
     * libxml2 (http://xmlsoft.org/).  
 
+Installing the following packages will allow your PSPP binary to write
+OpenDocument text (ODT) files:
+
+    * libxml2 (http://xmlsoft.org/).  
+
 The following packages are optional.
 
     * libncurses (http://www.gnu.org/software/ncurses/).  Without it,
@@ -78,8 +102,14 @@ The following packages are optional.
       later.  Installing Texinfo will allow you to build PSPP
       documentation in PostScript or PDF format.
 
-    * libpq, from Postgresql (http://postgresql.org). This enables PSPP 
-      to read Postgresql databases.
+    * libpq, from Postgresql (http://postgresql.org).  This enables PSPP 
+      to read Postgresql databases.  The tests for the Postgresql
+      interface, but not the Postgresql interface itself, requires the
+      Postgresql server to be installed.
+
+    * The Text::Diff module for Perl (http://cpan.org).  This enables
+      PSPP to test the Perl module more thoroughly.  It is not needed
+      to build or use the Perl module.
 
 Basic Installation
 ==================
@@ -104,6 +134,23 @@ release.
   1. `cd' to the directory containing the package's source code and type
      `./configure' to configure the package for your system.
 
+     You may invoke `configure' with --help to see what options are
+     available.  The most common of these are listed under "Optional
+     Features", below.
+
+     It is best to build and install PSPP in directories whose names do
+     not contain unusual characters such as spaces or single-quotes, due
+     to limitations of the tools involved in the build process.
+
+     If you installed some of the libraries that PSPP uses in a
+     non-standard location (on many systems, anywhere other than
+     /usr), you may need to provide some special flags to `configure'
+     to tell it where to find them.  For example, on GNU/Linux, if you
+     installed some libraries in /usr/local, then you need to invoke
+     it with at least the following options:
+
+       ./configure LDFLAGS='-L/usr/local/lib -Wl,-rpath,/usr/local/lib' CPPFLAGS='-I/usr/local/include'
+
      Running `configure' takes awhile.  While running, it prints some
      messages telling which features it is checking for.
 
@@ -131,8 +178,13 @@ release.
 
   4. Type `make install' to install the programs and any data files
      and documentation.  Ordinarily you will need root permissions to
-     do this; if you cannot get root permissions, see "Installation
-     Names", below.
+     do this.  The "su" and "sudo" commands are common ways to obtain
+     root permissions.  If you cannot get root permissions, see
+     "Installation Names", below.
+
+     Please note:  The `make install' target does NOT install the perl
+     module (see below).  To install the perl module, you must change to
+     the `perl-module' directory and manually run `make install' there.
 
   5. You can remove the program binaries and object files from the
      source code directory by typing `make clean'.  To also remove the
@@ -152,7 +204,11 @@ is an example:
 
      ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
 
-   See "Defining Variables", below, for more details.
+To cross-compile PSPP, you will likely need to set the
+PKG_CONFIG_LIBDIR environment variable to point to an
+appropriate pkg-config for the cross-compilation environment.
+
+See "Defining Variables", below, for more details.
 
 Installation Names
 ==================
@@ -190,14 +246,17 @@ suffix on their names by giving `configure' the  option
 Optional Features
 =================
 
-`--without-libplot'
-    Don't compile in support for charts (using libplot).  This is
-    useful if your system doesn't have the libplot library.
+`--without-cairo'
+    Don't compile in support for charts (using Cairo and Pango).  This
+    is useful if your system lacks these libraries.
 
 `--without-gui'
     Don't build the PSPPIRE gui.  Use this option if you only want to
     build the command line version of PSPP.
 
+    Cairo and Pango required to build the GUI, so --without-cairo
+    implies --without-gui.
+
 `--with-gui-tools'
     Build the gui developer tools.  There is no reason to use this
     option unless you're involved with the development of PSPP
@@ -209,6 +268,23 @@ Optional Features
     In these cases you can use --without-lib{xx} to force configure
     to disregard it.
 
+`--without-perl-module'
+   Disable building the Perl module, in case it does not build properly
+   or you do not need it.
+
+`--enable-anachronistic-dependencies'
+   If you use this option, some of the checks for dependent libraries
+   will be relaxed, permitting configure to succeed when older versions
+   of libraries are detected.   Use of this option is not recommended.
+   If you use it, some features may be missing and the build may fail
+   with obscure error messages.
+
+`--enable-relocatable'
+   This option is useful for building a package which can be installed
+   into an arbitrary directory and freely copied to any other directory.
+   If you use this option, you will probably want to install the pspp
+   with a command similar to "make install DESTDIR=<distination>".
+
 Defining Variables
 ==================