1 @c PSPP - a program for statistical analysis.
2 @c Copyright (C) 2017 Free Software Foundation, Inc.
3 @c Permission is granted to copy, distribute and/or modify this document
4 @c under the terms of the GNU Free Documentation License, Version 1.3
5 @c or any later version published by the Free Software Foundation;
6 @c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
7 @c A copy of the license is included in the section entitled "GNU
8 @c Free Documentation License".
11 @appendix Installing @pspp{}
13 The usual way to obtain pspp is described here:
14 @uref{https://www.gnu.org/software/pspp/get.html}. This appendix
15 describes ways to update to newer released pspp versions. For building
16 development versions: @xref{BuildDevel,,Building Development Versions}.
19 @section Installation in Unix Environment from Source
21 @cindex @pspp{}, installing
23 @cindex GNU C compiler
25 @cindex compiler, recommended
27 @pspp{} is written in ISO C and primarily targeted at UNIX-like
28 environments. To install @pspp{} under a UNIX-like operating system,
29 follow the steps below.
33 @code{cd} to the directory containing the @pspp{} source.
35 @cindex configure, GNU
38 Type @samp{./configure} to configure for your particular operating
39 system and compiler. Running @code{configure} takes a while. While
40 running, it displays some messages telling which features it is checking
43 You can optionally supply some options to @code{configure} to
44 give it hints about how to do its job. Type @code{./configure --help}
45 to see a list of options.
49 Type @samp{make} to compile the package. If there are any errors during
50 compilation, try to fix them. If modifications are necessary to compile
51 correctly under your configuration, contact the author.
52 @xref{Bugs,,Submitting Bug Reports}, for details.
54 @cindex self-tests, running
56 Type @samp{make check} to run self-tests on the compiled @pspp{} package.
59 @cindex @pspp{}, installing
60 @cindex @file{/usr/local/share/pspp/}
61 @cindex @file{/usr/local/bin/}
62 @cindex @file{/usr/local/info/}
63 @cindex documentation, installing
65 Become the superuser and type @samp{make install} to install the
66 @pspp{} binaries, by default in @file{/usr/local/bin/}. The
67 directory @file{/usr/local/share/pspp/} is created and populated with
68 files needed by @pspp{} at runtime. This step will also cause the
69 @pspp{} documentation to be installed in @file{/usr/local/info/},
70 but only if that directory already exists.
73 (optional) Type @samp{make clean} to delete the @pspp{} binaries
77 More detailed instructions for building from source including the
78 installation of required libraries can be found here:
79 @uref{http://git.savannah.gnu.org/cgit/pspp.git/plain/INSTALL}.
81 @section Updating the pspp package in Linux distributions
82 Linux distributions like Debian or Ubuntu make a release by taking the
83 pspp package version which is in the rolling testing (sid) stage at the
84 time of freezing the linux release. The pspp versions which are the default
85 version for a specific linux distribution release are listed here:
88 @item Debian: @uref{https://packages.debian.org/pspp}
89 @item Ubuntu: @uref{https://packages.ubuntu.com/pspp}
92 Debian stretch for example contains pspp 0.10.2. There are a number of
93 possibilities to update the pspp version inside a linux distribution.
97 Sometimes a backport of a newer pspp version is available for an older
98 distribution. Instructions how to install backports
99 can be found here @uref{https://backports.debian.org/Instructions} for
100 Debian. This is the easiest way to have an updated version.
102 @subsection Ubuntu PPA
103 For Ubuntu Adam Zammit maintains a PPA with several updates of pspp.
104 Installation via a PPA is similar to a backports install. See:
105 @uref{https://launchpad.net/~adamzammit/+archive/ubuntu/pspp}.
107 @subsection Building an updated pspp package
109 If you wish to use a newer pspp version than the one provided with
110 the distribution or possibly a backport, then there is a good chance
111 that you can generate a new updated pspp package for your linux distribution release
112 from the package source of a later distribution release. The latest
113 pspp package for Debian is in sid (unstable). It is not advisable to
114 take a binary package from a later distribution because the interface to
115 the required libraries may have changed. Therefore you take the package
116 source instead of the package binary and then compile a new pspp package for your
119 Assume you want to create a new pspp package for Debian jessie. Jessie
120 has pspp version 0.8.4 as the default version. Assume that Debian unstable
121 contains the pspp version 1.0.1. Add the line
123 deb-src http://ftp.debian.org/debian unstable main
125 to the file @code{/etc/apt/sources.conf}. This will make the package
126 sources of the packages in unstable available for apt-get.
128 Then download the pspp package sources from the unstable distribution.
134 apt-get source pspp/unstable
137 After this step you will have the files
141 pspp_1.0.1-1.debian.tar.xz
142 pspp_1.0.1.orig.tar.gz
151 in your directory. Now you can install the package
155 sudo apt-get build-dep pspp/unstable
158 And then you can build and test your pspp package with
165 After this step you have the binary pspp package
167 pspp_1.0.1-1_amd64.deb
169 in your directory and you can install the package with
171 sudo dpkg -i pspp_1.0.1-1_amd64.deb
173 You can uninstall the package as usual with
175 sudo apt-get remove pspp
177 This procedure is preferable vs. the @xref{InstallUnix, Plain Source Installation}
178 because the package and all data can be uninstalled the usual way and
179 the prerequisites can be installed the usual way via apt-get.
182 @section Building a development version
184 The installation of development versions and building directly from git is
185 described here: @uref{https://www.gnu.org/software/pspp/get.html}.