Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 330 lines (236 sloc) 12.449 kB
fa44a2c Initial revision
r authored
1
2 INSTALLING R UNDER UNIX
3
4
5 GENERALITIES
6
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
7 This document concerns building and installing R from sources. Pre-made
8 binaries are made available for some systems with varying regularity and
9 can be obtained from CRAN (see the RESOURCES file).
df9bbcc information on getting and unpacking files
pd authored
10
52d996e According to Michael Wang <mwang@mindspring.com>, also works on
hornik authored
11 R will configure and build under a number of common Unix-like platforms
12 (including i386-freebsd, i386-linux, i386-sun-solaris, ppc-linux,
0f96547 add comments on setting MAKE, Windows 2000
ripley authored
13 mips-sgi-irix, alpha-linux, alpha-dec-osf4, rs6000-ibm-aix,
14 hppa-hp-hpux, sparc-linux, and sparc-sun-solaris) and on Windows
15 9x/NT/2000 (see `src/gnuwin32/INSTALL'). In general it is relatively
52d996e According to Michael Wang <mwang@mindspring.com>, also works on
hornik authored
16 easy to adapt R to new platforms. See the section on new platforms for
17 details.
8aa1433 GNOME dependencies etc
ripley authored
18
fa44a2c Initial revision
r authored
19
df9bbcc information on getting and unpacking files
pd authored
20 GETTING AND UNPACKING THE SOURCES
21
af697e5 Cosmetics.
hornik authored
22 The simplest way is to download the most recent `R-x.y.z.tgz' package,
23 and unpack them with
df9bbcc information on getting and unpacking files
pd authored
24
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
25 tar xvfz R-x.y.z.tgz
df9bbcc information on getting and unpacking files
pd authored
26
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
27 on systems that have GNU tar installed. On other systems you need at
af697e5 Cosmetics.
hornik authored
28 least to have the `gzip' program installed. Then you can use
df9bbcc information on getting and unpacking files
pd authored
29
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
30 gzip -dc R-x.y.z.tgz | tar xvf -
df9bbcc information on getting and unpacking files
pd authored
31
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
32 If you need to transport the sources on floppy disks, you can download
af697e5 Cosmetics.
hornik authored
33 the `R-x.y.z.tgz-split.*' files and paste them together at the
34 destination with
df9bbcc information on getting and unpacking files
pd authored
35
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
36 cat R-x.y.z.tgz-split.* > R-x.y.z.tgz
df9bbcc information on getting and unpacking files
pd authored
37
38 and proceed as above.
39
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
40 Finally, for minor-minor releases (x.y.z with z != 0), a patch against
af697e5 Cosmetics.
hornik authored
41 the preceding release is made available in `R-x.y.{z-1}-x.y.z.diff.gz'
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
42 (e.g., R-0.63.2-0.63.3.diff.gz), which is generally a much shorter file
af697e5 Cosmetics.
hornik authored
43 that the `.tgz' files. Such a file can be applied to the sources of the
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
44 previous version by changing to the top directory of it and
df9bbcc information on getting and unpacking files
pd authored
45
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
46 gzip -dc /path/to/it/R-x.y.{z-1}-x.y.z.diff.gz | patch -E -p1
df9bbcc information on getting and unpacking files
pd authored
47
799c96c documentation updates
ripley authored
48 Beware that this does not necessarily work if the older sources have
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
49 been modified (e.g., by building in their directories).
fa44a2c Initial revision
r authored
50
8aa1433 GNOME dependencies etc
ripley authored
51
94e6a91 added make install
leisch authored
52 SIMPLE COMPILATION
fa44a2c Initial revision
r authored
53
da9f5c7 Explain that `make docs' requires Perl version 5 etc.
hornik authored
54 Choose a place to install the R tree (R is not just a binary, but has
55 additional data sets, help files, font metrics etc). Let's call this
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
56 place R_HOME. Untar the source code. This should create directories
57 src, doc, and several more. Issue the following commands:
fa44a2c Initial revision
r authored
58
59 ./configure
60 make
61
0f96547 add comments on setting MAKE, Windows 2000
ripley authored
62 (See USING MAKE below if your make is not called `make'.)
63
da9f5c7 Explain that `make docs' requires Perl version 5 etc.
hornik authored
64 If these commands execute successfully, the R binary will be copied to
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
65 the `${R_HOME}/bin' directory. In addition, a shell script front-end
da9f5c7 Explain that `make docs' requires Perl version 5 etc.
hornik authored
66 called "R" will be created and copied to the same directory. You can
67 copy this script to a place where users can invoke it, for example to
68 `/usr/local/bin/R'. You could also copy the man page `R.1' to a place
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
69 where your man reader finds it, such as `/usr/local/man/man1'. If you
23708c3 R_HOME currently is ${prefix}/lib/R.
hornik authored
70 want to install the complete R tree to, e.g., `/usr/local/lib/R', see
94e6a91 added make install
leisch authored
71 section INSTALLATION below.
fa44a2c Initial revision
r authored
72
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
73 You do not necessarily have to build R in the top-level source directory
74 (say, TOP_SRCDIR). To build in BUILDDIR, cd there and run
ba6787e branch update
pd authored
75
76 TOP_SRCDIR/configure
77 make
78
97ad1f7 branch update
pd authored
79 and so on, as described further below. This has the advantage of always
af697e5 Cosmetics.
hornik authored
80 keeping your source tree ``clean''. (You may need GNU make to allow
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
81 this.)
ba6787e branch update
pd authored
82
f7f10e3 Explain configure command line options.
hornik authored
83 If you need or want to set certain configure variables to something
84 other than their default, you can do that by either editing the file
b5bd200 explicitly say env vars are documented in config.site
ripley authored
85 `config.site' (which documents all the variables you might want to set)
86 or on the command line as
f7f10e3 Explain configure command line options.
hornik authored
87
e05c9c8 perl
maechler authored
88 VAR="..." ./configure # Bourne shell compatibles
89 (setenv VAR "..."; ./configure) # C shell
f7f10e3 Explain configure command line options.
hornik authored
90
eff400b warning about papersize in INSTALL
thomas authored
91 One common variable to change is R_PAPERSIZE, which defaults to a4, not
92 letter.
93
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
94 If you have libraries and header files, e.g., for GNU readline, in
e6183ff Improve as suggested by BDR.
hornik authored
95 non-system directories, use the variables LIBS (for libraries) and
96 CPPFLAGS (for header files), respectively, to specify these locations.
af697e5 Cosmetics.
hornik authored
97 These default to `/usr/local/lib' and `/usr/local/include' to catch the
0f68cd2 Mention problem of linker not re-ordering -L/-l flags.
hornik authored
98 most common cases. If libraries are still not found, then maybe your
99 compiler/linker does not support re-ordering of `-L' and `-l' flags
100 (this has been reported to be a problem on HP-UX with native cc). In
101 this case, use a different compiler (or a front end shell script which
102 does the re-ordering).
e6183ff Improve as suggested by BDR.
hornik authored
103
fa5f983 mention removing config.cache
ripley authored
104 If you find you need to alter configure variables, it is worth noting
799c96c documentation updates
ripley authored
105 that some settings are cached in the file `config.cache', and it is a
fa5f983 mention removing config.cache
ripley authored
106 good idea to remove that file before re-configuring.
107
94e6a91 added make install
leisch authored
108 Make will also build plain text help pages as well as HTML and LaTeX
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
109 versions of the R object documentation (the three kinds can also be
af697e5 Cosmetics.
hornik authored
110 generated separately using `make help', `make html' and `make latex').
111 Note that you need Perl version 5, available via
112 http://www.perl.com/CPAN/, to build this documentation. If this is not
113 available on your system, you can obtain PDF versions of the
114 documentation files via the Comprehensive R Archive Network (CRAN), see
115 the file `RESOURCES' for information on CRAN.
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
116
117 Now rehash if necessary, type `R', and read the R manuals and the R FAQ
af697e5 Cosmetics.
hornik authored
118 (files `FAQ' or `doc/html/faq.html' or the latest version at
799c96c documentation updates
ripley authored
119 http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html).
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
120
121 The GNOME interface for R will only be built if you specify it: see the
122 GNOME section below.
6e97328 Added information on compiling the GNOME interface
lyndon authored
123
fa44a2c Initial revision
r authored
124
799c96c documentation updates
ripley authored
125 MAKING THE MANUALS
126
127 There is a set of manuals that can be built from the sources,
128
129 refman Printed versions of all the help pages.
af697e5 Cosmetics.
hornik authored
130 R-intro ``An Introduction to R''.
131 R-exts ``Writing R Extensions''.
799c96c documentation updates
ripley authored
132 R-FAQ R FAQ (which is already built for you).
133
134 To make these, cd to the `doc/manual' directory and use
135
136 make dvi to create DVI versions
137 make pdf to create PDF versions
138 make info to create info files (not refman)
139
140 You will not be able to build the info files unless you have makeinfo
af697e5 Cosmetics.
hornik authored
141 version 4 or later installed (and some Linux distributions have 3.12).
799c96c documentation updates
ripley authored
142
fa60ce8 Cosmetics
hornik authored
143 The DVI versions can be previewed and printed using standard programs
799c96c documentation updates
ripley authored
144 such as `xdvi' and `dvips'. The PDF versions can be viewed using
145 Acrobat Reader or (recent versions of) ghostscript: they have
146 hyperlinks that can be followed in Acrobat Reader. The info files are
147 suitable for reading online with Emacs or the standalone GNU Info.
148
149
94e6a91 added make install
leisch authored
150 INSTALLATION
151
152 After
785c495 Updated.
hornik authored
153
94e6a91 added make install
leisch authored
154 ./configure
155 make
785c495 Updated.
hornik authored
156
94e6a91 added make install
leisch authored
157 have been completed successfully, you can install the complete R tree
158 to your system by typing
159
160 make install
161
162 This will install to the following directories:
163
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
164 ${prefix}/bin the front-end shell script
165 ${prefix}/man/man1 the man page
23708c3 R_HOME currently is ${prefix}/lib/R.
hornik authored
166 ${prefix}/lib/R all the rest (libraries, on-line help
94e6a91 added make install
leisch authored
167 system, ...)
168
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
169 where prefix is determined during configuration (typically `/usr/local')
94e6a91 added make install
leisch authored
170 and can be set by running configure with the option
171
172 ./configure --prefix=/where/you/want/R/to/go
173
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
174 This installs the R executable to `/where/you/want/R/to/go/bin', and so
175 on. The prefix of the installation directories can also be seen in the
9c94ec4 mention how to install other than in prefix.
ripley authored
176 status message that is displayed at the end of configure. You can
177 install into another directory by using
178
179 make prefix=/path/to/here install
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
180
fa60ce8 Cosmetics
hornik authored
181 To install DVI, info and PDF versions of the manuals, use `make
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
182 install-dvi', `make install-info' and `make install-pdf', respectively.
fa44a2c Initial revision
r authored
183
184
aa7eb80 branch update
pd authored
185 USING MAKE
186
af697e5 Cosmetics.
hornik authored
187 To compile R, you will most likely find it easiest to use GNU make. On
188 Solaris 2.6/7 in particular, you need a version of GNU make different
189 from 3.77; 3.79 works fine, as does the Sun make.
31eef2a clarify make requirements
ripley authored
190
191 To build in a separate directory you need a make that uses the VPATH
af697e5 Cosmetics.
hornik authored
192 variable, for example GNU make, or Sun make on Solaris 2.7 (but not
193 earlier).
aa7eb80 branch update
pd authored
194
0f96547 add comments on setting MAKE, Windows 2000
ripley authored
195 If you want to use a make by another name, for example if your GNU make
196 is called `gmake', you need to set MAKE at configure time, for example
197
e7553a1 Update.
hornik authored
198 MAKE=gmake ./configure (sh, bash)
199 env MAKE=gmake ./configure (csh)
0f96547 add comments on setting MAKE, Windows 2000
ripley authored
200
201
fa44a2c Initial revision
r authored
202 USING FORTRAN
203
f7f10e3 Explain configure command line options.
hornik authored
204 To compile R, you need a FORTRAN compiler or f2c, the FORTRAN-to-C
e7553a1 Update.
hornik authored
205 converter. The default is to search for g77, fort77, f77, f90, xlf,
fae2d08 Also look for fort77.
hornik authored
206 cf77, and fc (in that order), and then for f2c, and use whichever is
207 found first; if none is found, R cannot be compiled. The search
208 mechanism can be changed using the `--with-g77', `--with-f77', and
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
209 `--with-f2c' command line options to configure. If your FORTRAN
785c495 Updated.
hornik authored
210 compiler is in a non-standard location, you should set the enviroment
862b8cb Mention looking at LD_LIBRARY_PATH.
hornik authored
211 variable PATH accordingly before running configure.
212
213 If your FORTRAN libraries are in slightly peculiar places, you should
214 also look at LD_LIBRARY_PATH to make sure that all libraries are on this
215 path.
fa44a2c Initial revision
r authored
216
c7b5dc4 branch update - not bugfree
pd authored
217 You must set whatever compilation flags (if any) are needed to ensure
218 that FORTRAN `integer' is equivalent to a C int pointer and FORTRAN
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
219 `double precision' is equivalent to a C double pointer. This is checked
31eef2a clarify make requirements
ripley authored
220 during the configuration process.
c7b5dc4 branch update - not bugfree
pd authored
221
fa44a2c Initial revision
r authored
222
8aa1433 GNOME dependencies etc
ripley authored
223 BUILDING THE GNOME INTERFACE
224
c428673 update GNOME details
ripley authored
225 This interface is experimental, incomplete and not currently being
af697e5 Cosmetics.
hornik authored
226 developed. It provides a console and a graphics device (gtk(); the x11()
c428673 update GNOME details
ripley authored
227 device can also be used). Many of the `features' of the console are
228 currently stubs.
b96c09c list of systems, comments on GNOME, typos
ripley authored
229
8aa1433 GNOME dependencies etc
ripley authored
230 The GNOME interface for R will only be built if you specify it by
af697e5 Cosmetics.
hornik authored
231 running configure with the `--with-gnome' option. For example, you
232 might run
8aa1433 GNOME dependencies etc
ripley authored
233
234 ./configure --with-gnome
235
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
236 but please check you have all the requirements first. It is advisable
237 to have reasonably-up-to-date versions of the gnome and gtk+ libraries
238 (later than those in RedHat 6.0, for example). You can find the
8aa1433 GNOME dependencies etc
ripley authored
239 versions you have by
240
241 gnome-config --version
242 gtk-config --version
243
c428673 update GNOME details
ripley authored
244 We know 1.0.10 and 1.2.3 suffice. You need the following RPMs and
245 their dependencies installed:
8aa1433 GNOME dependencies etc
ripley authored
246
247 gnome-libs
248 gnome-libs-devel
249 gtk+
250 gtk+-devel
24ccf97 Modified GNOME install info
lyndon authored
251 glib
252 glib-devel
8aa1433 GNOME dependencies etc
ripley authored
253
f7e2276 Clarify libglade requirements
ripley authored
254 You will need also libglade 0.5 or later for correct behaviour. For
255 more information on libglade and to download the source, see
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
256 http://www.daa.com.au/~james/gnome/. The sources are also available
257 from the GNOME ftp site (ftp.gnome.org and mirrors). RPMs are in RedHat
c428673 update GNOME details
ripley authored
258 6.1 and later.
f69f528 update front matter, including CRAN addresses
ripley authored
259
260 libglade needs libxml 1.4 or later, the source for which is available
f9f3206 Add info on compilation/installation of DVI, info and PDF manuals.
hornik authored
261 from the GNOME ftp site (ftp.gnome.org and mirrors). RPMs of libxml-1.4
262 and libxml-devel-1.4 are available from updates.redhat.com and mirrors,
263 or ftp.gurulabs.com/pub/gnome/updates.
8aa1433 GNOME dependencies etc
ripley authored
264
265
370aa8d flags to allow profiling
ripley authored
266 COMPILE AND LOAD FLAGS
267
268 A wide range of flags can be set in the file config.site or via
269 environment variables. We have already mentioned
270
271 CPPFLAGS extra include flags
af697e5 Cosmetics.
hornik authored
272 LIBS libraries and `-L/lib/path' flags
370aa8d flags to allow profiling
ripley authored
273
274 and others include
275
276 CFLAGS debugging and optimization flags, C
277 MAIN_CFLAGS ditto, for compiling the main program
278 SHLIB_CFLAGS or shared libraries
279 FFLAGS debugging and optimization flags, Fortran
280 MAIN_FFLAGS ditto, for compiling the main program
281 SHLIB_FFLAGS or shared libraries
142267f Ensure consistent MAIN_ and SHLIB_ naming.
hornik authored
282 MAIN_LDFLAGS additional flags for the main link
283 SHLIB_LDFLAGS additional flags for the linking shared libraries
370aa8d flags to allow profiling
ripley authored
284
285 Library paths specified as -L/lib/path in LIBS are collected together
286 and prepended to LD_LIBRARY_PATH, so there should be no need for
287 -R or -rpath flags.
288
289 To compile a profiling version of R, one might for example want to use
142267f Ensure consistent MAIN_ and SHLIB_ naming.
hornik authored
290 MAIN_CFLAGS=-pg, MAIN_FFLAGS=-pg, MAIN_LDFLAGS=-pg on platforms where
370aa8d flags to allow profiling
ripley authored
291 -pg cannot be used with position-independent code.
292
293
fa44a2c Initial revision
r authored
294 NEW PLATFORMS (Standards Hah!)
295
296 There are a number of sources of problems when installing R on a new
18ec53d syncs from patch branch
pd authored
297 hardware/os platform.
fa44a2c Initial revision
r authored
298
299 1. Floating Point Arithmetic: R supports the POSIX, SVID and IEEE
300 models for floating point arithmetic. The POSIX and SVID models
e05c9c8 perl
maechler authored
301 provide no problems. The IEEE model however can be a pain. The
fa44a2c Initial revision
r authored
302 problem is that there is no agreement on how to set the signalling
799c96c documentation updates
ripley authored
303 behavior; sgi/irix and i386 linux require no special action, freebsd
304 requires a call to (the macro) fpsetmask(0) and osf1 requires
af697e5 Cosmetics.
hornik authored
305 that computation be done with a `-ieee_with_inexact' flag etc ...
fa44a2c Initial revision
r authored
306 On a new platform you must find out the magic recipe and add some
307 code to make it work. This can often be done via the file
af697e5 Cosmetics.
hornik authored
308 `config.site' which resides in the top level directory.
fa44a2c Initial revision
r authored
309
310 2. Shared Libraries: There seems to be very little agreement across
311 platforms on what needs to be done to build shared libraries.
312 there are many different combinations of flags for the compilers
313 and loaders. The technique we use is to interrogate the X window
314 system about what it does (using xmkmf). This often works, but
315 you may have to manually override the results. Scanning the cc(1)
316 and ld(1) manual entries usually reveals the correct incantation.
317 Once you know the recipe you can modify the file config.site
318 (following the instructions therein) so that the build will use
319 these options.
320
321 If you do manage to get R running on a new platform please let us know
322 about it so we can modify the configuration procedures to include that
323 platform.
324
325 If you are having trouble getting R to work on your platform please
326 feel free to get in touch to ask questions. We've had a fair amount
af697e5 Cosmetics.
hornik authored
327 of practice at porting R to new platforms ...
fa44a2c Initial revision
r authored
328
3ade498 Updates
ihaka authored
329 R Core Members
Something went wrong with that request. Please try again.