pivot table procedure conceptually works
[pspp] / INSTALL
diff --git a/INSTALL b/INSTALL
index 303f507055612ae2d238e917ea721e6992c78f86..b9fd6b1ceefa3c59dbc44c5aa1c6d78104325f55 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,35 @@
-PSPP Installation Instructions
-******************************
+Installation Instructions for GNU pspp
+**************************************
 
 These instructions are based on the generic GNU installation
-instructions, but they have been tailored for PSPP.
+instructions, but they have been tailored for PSPP.  These instructions
+apply only to people wishing to build and install PSPP from source. 
+
+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.  
+
+In 99% of cases, that is all you have to do - FINISHED! 
+
+
+
+
+If any part of the above process fails, then it is
+likely that one or more of the necessary prerequisites is missing
+from your system.  The following paragraphs contain highly detailed
+information which will help you fix this.
+
 
 Before You Install
 ==================
@@ -18,13 +45,13 @@ not present on your system.
 
 The following packages are required to install PSPP:
 
-    * An ANSI C compiler and tool chain.  On Unix-like systems, we
+    * A C compiler and tool chain.  On Unix-like systems, we
       recommend GCC, but any modern compilation environment should
       work.  On Microsoft Windows, Cygwin (http://www.cygwin.com/) and
       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.13 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 +60,20 @@ 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://www.gnu.org/software/gettext).
+      GNU libc includes an integrated libintl, so there is no need to
+      separately install libintl on a GNU/Linux system.
+
+    * zlib (http://www.zlib.net/).
 
-    * libplot, from GNU plotutils
-      (http://www.gnu.org/software/plotutils/).
+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 (in which case you will get no graphing
+capability).
+
+    * Cairo (http://cairographics.org/), version 1.5 or later.
+
+    * 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
@@ -48,23 +83,24 @@ use the GUI, you must run `configure' with --without-gui.
       0.18 and 0.19 have a bug that will prevent library detection,
       but other versions should be fine.
 
-    * GTK+ (http://www.gtk.org/), version 2.12.0 or later.
+    * GTK+ (http://www.gtk.org/), version 2.24.0  -  The Gtk+-3.x series will NOT work!
+
+    * GtkSourceView (http://projects.gnome.org/gtksourceview/) 
+      version 2.2 or later.
 
-    * libglade (http://www.jamesh.id.au/software/libglade/), version
-      2.6 or later.
+The following packages are optional:
 
-Installing the following packages will allow your PSPP binary to read
+Installing the following packages will allow your PSPP program 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.
+    * libxml2 (http://xmlsoft.org/).  
 
-    * zlib (http://www.zlib.net/).
+Installing the following packages will allow your PSPP program to write
+OpenDocument text (ODT) files:
 
     * libxml2 (http://xmlsoft.org/).  
 
-The following packages are optional.
+Other optional packages:
 
     * libncurses (http://www.gnu.org/software/ncurses/).  Without it,
       PSPP will assume it is running in an 80x25 terminal.
@@ -78,8 +114,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 +146,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 +190,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
@@ -150,9 +214,13 @@ details on some of the pertinent environment variables.
 by setting variables in the command line or in the environment.  Here
 is an example:
 
-     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+     ./configure CC=c89 CFLAGS=-O0 LIBS=-lposix
+
+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.
+See "Defining Variables", below, for more details.
 
 Installation Names
 ==================
@@ -190,14 +258,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 +280,16 @@ 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-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=<destination>".
+
 Defining Variables
 ==================
 
@@ -266,7 +347,7 @@ Generic `configure' Options
 `configure --help' for more details.
 
 ----------------------------------------------------------------------
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2007 Free
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2007, 2013 Free
 Software Foundation, Inc.
 
 This file is free documentation; the Free Software Foundation gives