File: install-requirements.html

package info (click to toggle)
pgadmin3 1.4.3-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 29,796 kB
  • ctags: 10,758
  • sloc: cpp: 55,356; sh: 6,164; ansic: 1,520; makefile: 576; sql: 482; xml: 100; perl: 18
file content (230 lines) | stat: -rw-r--r-- 13,202 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>14.2.Requirements</title>
<link rel="stylesheet" href="stylesheet.css" type="text/css">
<link rev="made" href="pgsql-docs@postgresql.org">
<meta name="generator" content="DocBook XSL Stylesheets V1.70.0">
<link rel="start" href="index.html" title="PostgreSQL 8.1.4 Documentation">
<link rel="up" href="installation.html" title="Chapter14.  Installation Instructions">
<link rel="prev" href="installation.html" title="Chapter14.  Installation Instructions">
<link rel="next" href="install-getsource.html" title="14.3.Getting The Source">
<link rel="copyright" href="ln-legalnotice.html" title="Legal Notice">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="install-requirements"></a>14.2.Requirements</h2></div></div></div>
<p>   In general, a modern Unix-compatible platform should be able to run
   <span class="productname">PostgreSQL</span>.
    The platforms that had received specific testing at the
   time of release are listed in <a href="supported-platforms.html" title="14.7.Supported Platforms">Section14.7, &#8220;Supported Platforms&#8221;</a>
   below. In the <code class="filename">doc</code> subdirectory of the distribution
   there are several platform-specific <acronym class="acronym">FAQ</acronym> documents you
   might wish to consult if you are having trouble.
  </p>
<p>   The following software packages are required for building
   <span class="productname">PostgreSQL</span>:

   </p>
<div class="itemizedlist"><ul type="disc">
<li>
<p>      <a name="id634314"></a>

      <acronym class="acronym">GNU</acronym> <span class="application">make</span> is required; other
      <span class="application">make</span> programs will <span class="emphasis"><em>not</em></span> work.
      <acronym class="acronym">GNU</acronym> <span class="application">make</span> is often installed under
      the name <code class="filename">gmake</code>; this document will always
      refer to it by that name. (On some systems
      <acronym class="acronym">GNU</acronym> <span class="application">make</span> is the default tool with the name
      <code class="filename">make</code>.) To test for <acronym class="acronym">GNU</acronym>
      <span class="application">make</span> enter
</p>
<pre class="screen"><strong class="userinput"><code>gmake --version</code></strong></pre>
<p>
      It is recommended to use version 3.76.1 or later.
     </p>
</li>
<li><p>      You need an <acronym class="acronym">ISO</acronym>/<acronym class="acronym">ANSI</acronym> C compiler. Recent
      versions of <span class="productname">GCC</span> are recommendable, but
      <span class="productname">PostgreSQL</span> is known to build with a wide variety
      of compilers from different vendors.
     </p></li>
<li><p>      <span class="application">tar</span> is required to unpack the source
      distribution in the first place, in addition to either
      <span class="application">gzip</span> or <span class="application">bzip2</span>.
     </p></li>
<li><p>      <a name="id634456"></a>

      The <acronym class="acronym">GNU</acronym> <span class="productname">Readline</span> library (for
      comfortable line editing and command history retrieval) will be
      used by default.  If you don't want to use it then you must
      specify the <code class="option">--without-readline</code> option for
      <code class="filename">configure</code>.  (On <span class="productname">NetBSD</span>,
      the <code class="filename">libedit</code> library is
      <span class="productname">Readline</span>-compatible and is used if
      <code class="filename">libreadline</code> is not found.)  If you are using
      a package-based Linux distribution, be aware that you need both
      the <code class="literal">readline</code> and <code class="literal">readline-devel</code> packages,
      if those are separate in your distribution.
     </p></li>
<li><p>      <a name="id634535"></a>

      The <span class="productname">zlib</span> compression library will be
      used by default. If you don't want to use it then you must
      specify the <code class="option">--without-zlib</code> option for
      <code class="filename">configure</code>. Using this option disables
      support for compressed archives in <span class="application">pg_dump</span> and
      <span class="application">pg_restore</span>.
     </p></li>
<li><p>      <a name="id634581"></a>

      Additional software is needed to build
      <span class="productname">PostgreSQL</span> on <span class="productname">Windows</span>.
      You can build <span class="productname">PostgreSQL</span> for
      <span class="productname">NT</span>-based versions of <span class="productname">Windows</span>
      (like Windows XP and 2003) using <span class="productname">MinGW</span>;
      see <code class="filename">doc/FAQ_MINGW</code> for details.  You can also build
      <span class="productname">PostgreSQL</span> using
      <span class="productname">Cygwin</span>; see <code class="filename">doc/FAQ_CYGWIN</code>.
      A <span class="productname">Cygwin</span>-based build will work on older
      versions of <span class="productname">Windows</span>, but if you have a choice,
      we recommend the <span class="productname">MinGW</span> approach.
      While these are the only tool sets recommended for a complete build,
      it is possible to build just the C client library
      (<span class="application">libpq</span>) and the interactive terminal
      (<span class="application">psql</span>) using other <span class="productname">Windows</span>
      tool sets.  For details of that see
       <a href="install-win32.html" title="Chapter15.Client-Only Installation on Windows">Chapter15, <i>Client-Only Installation on <span class="productname">Windows</span></i></a>.
     </p></li>
</ul></div>
<p>
  </p>
<p>   The following packages are optional.  They are not required in the
   default configuration, but they are needed when certain build
   options are enabled, as explained below.

   </p>
<div class="itemizedlist"><ul type="disc">
<li>
<p>      To build the server programming language
      <span class="application">PL/Perl</span> you need a full
      <span class="productname">Perl</span> installation, including the
      <code class="filename">libperl</code> library and the header files.
      Since <span class="application">PL/Perl</span> will be a shared
      library, the <a name="id634755"></a>
      <code class="filename">libperl</code> library must be a shared library
      also on most platforms.  This appears to be the default in
      recent <span class="productname">Perl</span> versions, but it was not
      in earlier versions, and in any case it is the choice of whomever
      installed Perl at your site.
     </p>
<p>      If you don't have the shared library but you need one, a message
      like this will appear during the build to point out this fact:
</p>
<pre class="screen">*** Cannot build PL/Perl because libperl is not a shared library.
*** You might have to rebuild your Perl installation.  Refer to
*** the documentation for details.</pre>
<p>
      (If you don't follow the on-screen output you will merely notice
      that the <span class="application">PL/Perl</span> library object,
      <code class="filename">plperl.so</code> or similar, will not be
      installed.)  If you see this, you will have to rebuild and
      install <span class="productname">Perl</span> manually to be able to
      build <span class="application">PL/Perl</span>.  During the
      configuration process for <span class="productname">Perl</span>,
      request a shared library.
     </p>
</li>
<li>
<p>      To build the <span class="application">PL/Python</span> server programming
      language, you need a <span class="productname">Python</span>
      installation with the header files and the <span class="application">distutils</span> module.
      The <span class="application">distutils</span> module is included by default with
      <span class="productname">Python</span> 1.6 and later; users of
      earlier versions of <span class="productname">Python</span> will need
      to install it.
     </p>
<p>      Since <span class="application">PL/Python</span> will be a shared
      library, the <a name="id634888"></a>
      <code class="filename">libpython</code> library must be a shared library
      also on most platforms.  This is not the case in a default
      <span class="productname">Python</span> installation.  If after
      building and installing you have a file called
      <code class="filename">plpython.so</code> (possibly a different
      extension), then everything went well.  Otherwise you should
      have seen a notice like this flying by:
</p>
<pre class="screen">*** Cannot build PL/Python because libpython is not a shared library.
*** You might have to rebuild your Python installation.  Refer to
*** the documentation for details.</pre>
<p>
      That means you have to rebuild (part of) your
      <span class="productname">Python</span> installation to supply this
      shared library.
     </p>
<p>      If you have problems, run <span class="productname">Python</span> 2.3 or later's
      configure using the <code class="literal">--enable-shared</code> flag.  On some
      operating systems you don't have to build a shared library, but
      you will have to convince the <span class="productname">PostgreSQL</span> build
      system of this.  Consult the <code class="filename">Makefile</code> in
      the <code class="filename">src/pl/plpython</code> directory for details.
     </p>
</li>
<li><p>      If you want to build the <span class="application">PL/Tcl</span>
      procedural language, you of course need a Tcl installation.
     </p></li>
<li><p>      To enable Native Language Support (<acronym class="acronym">NLS</acronym>), that
      is, the ability to display a program's messages in a language
      other than English, you need an implementation of the
      <span class="application">Gettext</span> <acronym class="acronym">API</acronym>.  Some operating
      systems have this built-in (e.g., <span class="systemitem">Linux</span>, <span class="systemitem">NetBSD</span>,
      <span class="systemitem">Solaris</span>), for other systems you
      can download an add-on package from <a href="http://developer.postgresql.org/~petere/bsd-gettext/" target="_top">http://developer.postgresql.org/~petere/bsd-gettext/</a>.
      If you are using the <span class="application">Gettext</span> implementation in
      the <acronym class="acronym">GNU</acronym> C library then you will additionally
      need the <span class="productname">GNU Gettext</span> package for some
      utility programs.  For any of the other implementations you will
      not need it.
     </p></li>
<li><p>      <span class="application">Kerberos</span>, <span class="productname">OpenSSL</span>, and/or
      <span class="application">PAM</span>, if you want to support authentication or
      encryption using these services.
     </p></li>
</ul></div>
<p>
  </p>
<p>   If you are building from a <acronym class="acronym">CVS</acronym> tree instead of
   using a released source package, or if you want to do development,
   you also need the following packages:

   </p>
<div class="itemizedlist"><ul type="disc"><li><p>      <a name="id635107"></a>
      <a name="id635114"></a>
      <a name="id635122"></a>

      GNU <span class="application">Flex</span> and <span class="application">Bison</span>
      are needed to build a CVS checkout or if you changed the actual
      scanner and parser definition files. If you need them, be sure
      to get <span class="application">Flex</span> 2.5.4 or later and
      <span class="application">Bison</span> 1.875 or later. Other <span class="application">yacc</span>
      programs can sometimes be used, but doing so requires extra
      effort and is not recommended. Other <span class="application">lex</span>
      programs will definitely not work.
     </p></li></ul></div>
<p>
  </p>
<p>   If you need to get a <acronym class="acronym">GNU</acronym> package, you can find
   it at your local <acronym class="acronym">GNU</acronym> mirror site (see <a href="http://www.gnu.org/order/ftp.html" target="_top">http://www.gnu.org/order/ftp.html</a>
   for a list) or at <a href="ftp://ftp.gnu.org/gnu/" target="_top">ftp://ftp.gnu.org/gnu/</a>.
  </p>
<p>   Also check that you have sufficient disk space. You will need about
   65 MB for the source tree during compilation and about 15 MB for
   the installation directory. An empty database cluster takes about
   25 MB, databases take about five times the amount of space that a
   flat text file with the same data would take. If you are going to
   run the regression tests you will temporarily need up to an extra
   90 MB. Use the <code class="command">df</code> command to check free disk
   space.
  </p>
</div></body>
</html>