Fix missing @clicksequence problem with older Texinfo versions.
[pspp-builds.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 9ae05a33f8ac1e3f7450f11f09a453b83e72dace..d3a469cf6ee124c7c583abc233e10abfa3081035 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,11 +1,86 @@
-Installation Instructions
-*************************
+Installation Instructions for GNU pspp
+**************************************
 
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2007 Free
-Software Foundation, Inc.
+These instructions are based on the generic GNU installation
+instructions, but they have been tailored for PSPP.
 
-This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
+Before You Install
+==================
+
+Before you install PSPP, you will need to install certain prerequisite
+packages.  You may also want to install other packages that enable
+additional functionality in PSPP.
+
+If you do not know whether you have these installed already, you may
+proceed to "Basic Installation", below.  The PSPP configuration
+process will notify you about required and optional packages that are
+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
+      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.
+
+    * Perl (http://www.perl.org/), version 5.005_03 or later.  Perl is
+      required during build but not after installation.
+
+    * iconv, which should be installed as part of a Unix-like system.
+      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.
+
+    * libplot, from GNU plotutils
+      (http://www.gnu.org/software/plotutils/).
+
+The following packages are required to enable PSPPIRE, the graphical
+user interface for PSPP.  If you cannot install them or do not wish to
+use the GUI, you must run `configure' with --without-gui.
+
+    * 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.
+
+    * GTK+ (http://www.gtk.org/), version 2.12.0 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.
+
+      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.
+
+    * zlib (http://www.zlib.net/).
+
+    * libxml2 (http://xmlsoft.org/).  
+
+The following packages are optional.
+
+    * libncurses (http://www.gnu.org/software/ncurses/).  Without it,
+      PSPP will assume it is running in an 80x25 terminal.
+
+    * libreadline and libhistory
+      (http://tiswww.case.edu/php/chet/readline/rltop.html).  Without
+      them, interactive command editing and history features in the
+      text-based user interface will be disabled.
+
+    * Texinfo (http://www.gnu.org/software/texinfo/), version 4.7 or
+      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.
 
 Basic Installation
 ==================
@@ -20,31 +95,63 @@ http://www.gnu.org/software/autoconf/manual/html_node/Running-configure-Scripts.
    The `configure' shell script attempts to guess correct values for
 various system-dependent variables used during compilation.
 
+   If you need to do unusual things to compile the package, please
+report the problem to bug-gnu-pspp@gnu.org.  We will try to figure out
+how `configure' could work better in your situation for the next
+release.
 
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to pspp-dev@gnu.org so they can
-be considered for the next release. 
+   The simplest way to compile PSPP is:
 
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.
 
-The simplest way to compile PSPP is:
+     You may invoke `configure' with --help to see what options are
+     available.  The most common of these are listed under "Optional
+     Features", below.
 
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.  If you're
-     using `csh' on an old version of System V, you might need to type
-     `sh ./configure' instead to prevent `csh' from trying to execute
-     `configure' itself.
+     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.
 
+     If `configure' completes successfully, it prints the message
+     "PSPP configured successfully." at the end of its run.
+     Otherwise, it may stop with a list of packages that you must
+     install before PSPP.  If it does, you need to install those
+     packages, then re-run this step.  Some prerequisites may be
+     omitted by passing a --without-<feature> flag to `configure' (see
+     "Optional Features", below).  If you use one of these flags, then
+     the feature that it disables will not be available in your PSPP
+     installation.
+
+     `configure' may also print a list of packages that you should
+     consider installing.  If you install them, then re-run
+     `configure', additional features will be available in your PSPP
+     installation.
+
   2. Type `make' to compile the package.
 
-  3. Optionally, type `make check' to run the self-tests that come with
-     the package.
+  3. Optionally, type `make check' to run the self-tests that come
+     with the package.  If any of the self-tests fail, please mail
+     bug-gnu-pspp@gnu.org with the details, to give the PSPP
+     developers an opportunity to fix the problem in the next release.
 
-  4. Type `make install' to install the programs and any data files and
-     documentation.  You will need root permissions to do this.
+  4. Type `make install' to install the programs and any data files
+     and documentation.  Ordinarily you will need root permissions to
+     do this.  The "su" and "sudo" commands are common ways to obtain
+     root permissions.  If you cannot get root permissions, see
+     "Installation Names", below.
 
   5. You can remove the program binaries and object files from the
      source code directory by typing `make clean'.  To also remove the
@@ -64,8 +171,7 @@ is an example:
 
      ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
 
-   *Note Defining Variables::, for more details.
-
+   See "Defining Variables", below, for more details.
 
 Installation Names
 ==================
@@ -75,6 +181,16 @@ By default, `make install' installs PSPP's commands under
 can specify an installation prefix other than `/usr/local' by giving
 `configure' the option `--prefix=PREFIX'.
 
+   You may wish to install PSPP on a machine where you do not have
+root permissions.  To do so, specify a prefix relative within your
+home directory, e.g. `--prefix=$HOME' or `--prefix=$HOME/inst'.  All
+PSPP files will be installed under the prefix directory, which `make
+install' will create if necessary.  You may run PSPP directly from the
+`bin' directory under the prefix directory as, e.g., `~/inst/bin/pspp'
+under most shells, or for added convenience you can add the
+installation directory to your PATH by editing a shell startup file
+such as `.bashrc'.
+
    You can specify separate installation prefixes for
 architecture-specific files and architecture-independent files.  If you
 pass the option `--exec-prefix=PREFIX' to `configure', the package uses
@@ -105,6 +221,25 @@ Optional Features
     Build the gui developer tools.  There is no reason to use this
     option unless you're involved with the development of PSPP
 
+`--without-lib{xx}'
+    Optional libraries should normally be detected and the relevant
+    functionality will be built they exist.  However, on some poorly
+    configured systems a library may exist, but be totally broken.
+    In these cases you can use --without-lib{xx} to force configure
+    to disregard 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
 ==================
@@ -118,7 +253,7 @@ them in the `configure' command line, using `VAR=value'.  For example:
      ./configure CC=/usr/local2/bin/gcc
 
 causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).  Here is a another example:
+overridden in the site shell script).  Here is another example:
 
      /bin/bash ./configure CONFIG_SHELL=/bin/bash
 
@@ -162,3 +297,10 @@ Generic `configure' Options
 `configure' also accepts some other, not widely useful, options.  Run
 `configure --help' for more details.
 
+----------------------------------------------------------------------
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2007 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+