Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

add prebuilt R-admin.html to doc/html. [Still to add maintainer-mode …

…way to

update it]


git-svn-id: https://svn.r-project.org/R/trunk@14184 00db46b3-68df-0310-9c12-caf00c1e9a41
  • Loading branch information...
commit 94b603b3c12dd71e9b23220721636c05009ea6d7 1 parent 8da0d11
ripley authored
Showing with 999 additions and 4 deletions.
  1. +4 −4 INSTALL
  2. +995 −0 doc/html/R-admin.html
8 INSTALL
View
@@ -11,7 +11,7 @@ to build under Classic MacOS see the file `src/macintosh/INSTALL'.
The main source of information on installation is the `R Installation
and Administration Manual', an HTML copy of which is available as file
-`doc/manual/R-admin.html'. Please read that before installing R. But
+`doc/html/R-admin.html'. Please read that before installing R. But
if you are impatient, read on but please refer to the manual to
resolve any problems.
@@ -24,8 +24,8 @@ presumably in the top directory. Issue the following commands:
./configure
make
-(If your make is not called make, set the environment variable MAKE to
-its name, and use the name throughout these instructions.)
+(If your make is not called `make', set the environment variable MAKE to
+its name, and use that name throughout these instructions.)
This will take a while, giving you time to read `R-admin.html'.
Then check the built system worked correctly, by
@@ -54,4 +54,4 @@ For a site-wide installation, use
choosing to install the manuals that you made.
This installs to the default location (typically `/usr/local') for your
-platform: see the manual for other options.
+platform: see the Installation and Administration Manual for other options.
995 doc/html/R-admin.html
View
@@ -0,0 +1,995 @@
+<html lang="en"><head>
+<title>R Installation and Adminstration</title>
+<meta http-equiv="Content-Type" content="text/html">
+<meta name=description content="R Installation and Adminstration">
+<meta name=generator content="makeinfo 4.0">
+<link href="http://texinfo.org/" rel=generator-home>
+</head><body>
+
+<p><hr>
+Node:<a name="Top">Top</a>,
+Next:<a rel=next href="#Obtaining%20R">Obtaining R</a>,
+Previous:<a rel=previous href="#(dir)">(dir)</a>,
+Up:<a rel=up href="#(dir)">(dir)</a>
+<br>
+
+<h1>R Installation and Administration</h1>
+
+<p>This is a guide to installation and administration for R.
+
+<p>The current version of this document is 1.3.0 (2001-05-16).
+
+<ul>
+<li><a href="#Obtaining%20R">Obtaining R</a>:
+<li><a href="#Installing%20R%20under%20Unix">Installing R under Unix</a>:
+<li><a href="#Installing%20R%20under%20Windows">Installing R under Windows</a>:
+<li><a href="#Installing%20R%20on%20Classic%20MacOS">Installing R on Classic MacOS</a>:
+<li><a href="#Add-on%20Packages">Add-on Packages</a>:
+<li><a href="#Essential%20and%20Useful%20Other%20Programs">Essential and Useful Other Programs</a>:
+<li><a href="#Configuration%20on%20Unix">Configuration on Unix</a>:
+<li><a href="#New%20Platforms">New Platforms</a>:
+<li><a href="#Function%20and%20variable%20index">Function and variable index</a>:
+<li><a href="#Concept%20index">Concept index</a>:
+</ul>
+
+<p><hr>
+Node:<a name="Obtaining%20R">Obtaining R</a>,
+Next:<a rel=next href="#Installing%20R%20under%20Unix">Installing R under Unix</a>,
+Previous:<a rel=previous href="#Top">Top</a>,
+Up:<a rel=up href="#Top">Top</a>
+<br>
+
+<h1>Obtaining R</h1>
+
+<p>Sources, binaries and documentation for R can be obtained via
+<small>CRAN</small>, the "Comprehensive R Archive Network". See
+the file <code>RESOURCES</code> for information on <small>CRAN</small>.
+
+<ul>
+<li><a href="#Getting%20and%20Unpacking%20the%20Sources">Getting and Unpacking the Sources</a>:
+<li><a href="#Using%20rsync">Using rsync</a>:
+</ul>
+
+<p><hr>
+Node:<a name="Getting%20and%20Unpacking%20the%20Sources">Getting and Unpacking the Sources</a>,
+Next:<a rel=next href="#Using%20rsync">Using rsync</a>,
+Previous:<a rel=previous href="#Obtaining%20R">Obtaining R</a>,
+Up:<a rel=up href="#Obtaining%20R">Obtaining R</a>
+<br>
+
+<h2>Getting and Unpacking the Sources</h2>
+
+<p>The simplest way is to download the most recent <code>R-x.y.z.tgz</code> package,
+and unpack it with
+<pre> tar xvfz R-x.y.z.tgz
+</pre>
+
+<p>on systems that have GNU <code>tar</code> installed. On other systems you need at
+least to have the <code>gzip</code> program installed. Then you can use
+<pre> gzip -dc R-x.y.z.tgz | tar xvf -
+</pre>
+
+<p>If you need to transport the sources on floppy disks, you can download
+the <code>R-x.y.z.tgz-split.*</code> files and paste them together at the
+destination with (Unix)
+<pre> cat R-x.y.z.tgz-split.* &gt; R-x.y.z.tgz
+</pre>
+
+<p>and proceed as above. If you want the build to be usable by a group
+of users, set <code>umask</code> before unpacking so that the files will be
+readable by the target group (e.g. <code>umask 022</code> to be usable by all
+users).
+
+<p>Finally, for minor-minor releases (<code>x.y.z</code> with <code>z != 0</code> ), a
+patch against the preceding release is made available in
+<code>R-x.y.{z-1}-x.y.z.diff.gz</code> (e.g., <code>R-1.2.2-1.2.3.diff.gz</code>),
+which is generally a much smaller file that the <code>.tgz</code> files. Such
+a file can be applied to the sources of the previous version by changing
+to the top directory of it and
+<pre> gzip -dc /path/to/it/R-x.y.{z-1}-x.y.z.diff.gz | patch -E -p1
+</pre>
+
+<p>Beware that this does not necessarily work if the older sources have
+been modified (e.g., by building in their directories).
+
+<p><hr>
+Node:<a name="Using%20rsync">Using rsync</a>,
+Previous:<a rel=previous href="#Getting%20and%20Unpacking%20the%20Sources">Getting and Unpacking the Sources</a>,
+Up:<a rel=up href="#Obtaining%20R">Obtaining R</a>
+<br>
+
+<h2>Using rsync</h2>
+
+<p>Sources are also available via anonymous rsync. Use
+
+<pre>rsync -rC rsync.r-project.org::<var>module</var> R
+</pre>
+
+<p>to create a copy of the source tree specified by <var>module</var> in the
+subdirectory <code>R</code> of the current directory, where <var>module</var>
+specifies one of the three existing flavours of the R sources, and can be
+one of <code>r-release</code> (latest released version),
+<code>r-release-patched</code> (latest released version with patches applied),
+and <code>r-devel</code> (current development version). The rsync trees are
+created directly from the master CVS archive and are updated hourly.
+The <code>-C</code> option in the <code>rsync</code> command is to cause it to skip the
+CVS directories. Further information on <code>rsync</code> is available at
+<a href="http://rsync.samba.org/rsync/">http://rsync.samba.org/rsync/</a>.
+
+<p><hr>
+Node:<a name="Installing%20R%20under%20Unix">Installing R under Unix</a>,
+Next:<a rel=next href="#Installing%20R%20under%20Windows">Installing R under Windows</a>,
+Previous:<a rel=previous href="#Obtaining%20R">Obtaining R</a>,
+Up:<a rel=up href="#Top">Top</a>
+<br>
+
+<h1>Installing R under Unix</h1>
+
+<p>R will configure and build from source under a number of common
+Unix-like platforms, including <code>i386-freebsd</code>, <code>i386-linux</code>,
+<code>i386-sun-solaris</code>, <code>ppc-linux</code>, <code>mips-sgi-irix</code>,
+<code>alpha-linux</code>, <code>alpha-dec-osf4</code>, <code>rs6000-ibm-aix</code>,
+<code>hppa-hp-hpux</code>, <code>sparc-linux</code> and <code>sparc-sun-solaris</code>.
+
+<p>In addition, binary distributions are available for most common Linux
+distributions, Compaq Alpha systems running OSF1, and for MacOS X.
+See the FAQ for current details. These are installed in
+platform-specific ways. So for the rest of this chapter we consider
+only building from the sources.
+
+<ul>
+<li><a href="#Simple%20Compilation">Simple Compilation</a>:
+<li><a href="#Making%20the%20Manuals">Making the Manuals</a>:
+<li><a href="#Installation">Installation</a>:
+</ul>
+
+<p><hr>
+Node:<a name="Simple%20Compilation">Simple Compilation</a>,
+Next:<a rel=next href="#Making%20the%20Manuals">Making the Manuals</a>,
+Previous:<a rel=previous href="#Installing%20R%20under%20Unix">Installing R under Unix</a>,
+Up:<a rel=up href="#Installing%20R%20under%20Unix">Installing R under Unix</a>
+<br>
+
+<h2>Simple Compilation</h2>
+
+<p>First review the essential and useful tools and libraries in
+<a href="#Essential%20and%20Useful%20Other%20Programs">Essential and Useful Other Programs</a>, and install those
+you want or need.
+
+<p>Choose a place to install the R tree (R is not just a binary, but
+has additional data sets, help files, font metrics etc). Let us call
+this place <code>R_HOME</code>. Untar the source code. This should create
+directories <code>src</code>, <code>doc</code>, and several more. Issue the
+following commands:
+
+<pre>./configure
+make
+</pre>
+
+<p>(See <a href="#Using%20make">Using make</a> if your make is not called <code>make</code>.)
+
+<p>Then check the built system worked correctly, by
+
+<pre>make check
+</pre>
+
+<p>Failures are not necessarily problems as they might be caused by missing
+functionality, but you should look carefully at any reported discrepancies.
+
+<p>If these commands execute successfully, the R binary will be copied
+to the <code>${R_HOME}/bin</code> directory. In addition, a shell-script
+front-end called <code>R</code> will be created and copied to the same
+directory. You can copy this script to a place where users can invoke
+it, for example to <code>/usr/local/bin/R</code>. You could also copy the man
+page <code>R.1</code> to a place where your <code>man</code> reader finds it, such
+as <code>/usr/local/man/man1</code>. If you want to install the complete R
+tree to, e.g., <code>/usr/local/lib/R</code>, see <a href="#Installation">Installation</a>. Note:
+you do not <em>need</em> to install R: you can run it from where it was
+built.
+
+<p>You do not necessarily have to build R in the top-level source directory
+(say, <code>TOP_SRCDIR</code>). To build in <code>BUILDDIR</code>, run
+<pre>cd BUILDDIR
+TOP_SRCDIR/configure
+make
+</pre>
+
+<p>and so on, as described further below. This has the advantage of always
+keeping your source tree "clean". (You may need GNU <code>make</code> to allow
+this.)
+
+<p>Make will also build plain text help pages as well as HTML and LaTeX
+versions of the R object documentation (the three kinds can also be
+generated separately using <code>make help</code>, <code>make html</code> and
+<code>make latex</code>). Note that you need Perl version 5: if this
+is not available on your system, you can obtain PDF versions of the
+documentation files via <small>CRAN</small>.
+
+<p>Now <code>rehash</code> if necessary, type <code>R</code>, and read the R manuals
+and the R FAQ (files <code>FAQ</code> or <code>doc/html/faq.html</code> or the
+latest version at
+<a href="http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html">http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html</a>).
+
+<p><hr>
+Node:<a name="Making%20the%20Manuals">Making the Manuals</a>,
+Next:<a rel=next href="#Installation">Installation</a>,
+Previous:<a rel=previous href="#Simple%20Compilation">Simple Compilation</a>,
+Up:<a rel=up href="#Installing%20R%20under%20Unix">Installing R under Unix</a>
+<br>
+
+<h2>Making the Manuals</h2>
+
+<p>There is a set of manuals that can be built from the sources,
+
+<dl>
+<dt><code>refman</code>
+<dd>Printed versions of all the help pages.
+
+<br><dt><code>R-FAQ</code>
+<dd>R FAQ (which is already built for you).
+
+<br><dt><code>R-intro</code>
+<dd>"An Introduction to R".
+
+<br><dt><code>R-data</code>
+<dd>"R Data Import/Export".
+
+<br><dt><code>R-admin</code>
+<dd>"R Installation and Administration".
+
+<br><dt><code>R-exts</code>
+<dd>"Writing R Extensions".
+
+<br><dt><code>R-lang</code>
+<dd>"The R Language Definition".
+</dl>
+
+<p>To make these, <code>cd</code> to the <code>doc/manual</code> directory and use
+
+<dl>
+<dt><code>make dvi</code>
+<dd>to create DVI versions
+<br><dt><code>make pdf</code>
+<dd>to create PDF versions
+<br><dt><code>make info</code>
+<dd>to create info files (not <code>refman</code>)
+</dl>
+
+<p>You will not be able to build the info files unless you have
+<code>makeinfo</code> version 4 or later installed (and some Linux
+distributions have 3.12).
+
+<p>The DVI versions can be previewed and printed using standard programs
+such as <code>xdvi</code> and <code>dvips</code>. The PDF versions can be viewed
+using Acrobat Reader or (recent versions of) ghostscript: they have
+hyperlinks that can be followed in Acrobat Reader. The info files are
+suitable for reading online with Emacs or the standalone GNU Info.
+
+<p><hr>
+Node:<a name="Installation">Installation</a>,
+Previous:<a rel=previous href="#Making%20the%20Manuals">Making the Manuals</a>,
+Up:<a rel=up href="#Installing%20R%20under%20Unix">Installing R under Unix</a>
+<br>
+
+<h2>Installation</h2>
+
+<p>After
+<pre> ./configure
+ make
+ make check
+</pre>
+
+<p>have been completed successfully, you can install the complete R tree
+to your system by typing
+<pre> make install
+</pre>
+
+<p>This will install to the following directories:
+
+<dl>
+<dt><code>${prefix}/bin</code>
+<dd>the front-end shell script
+<br><dt><code>${prefix}/man/man1</code>
+<dd>the man page
+<br><dt><code>${prefix}/lib/R</code>
+<dd>all the rest (libraries, on-line help system, <small>...</small>)
+</dl>
+
+<p>where <code>prefix</code> is determined during configuration (typically
+<code>/usr/local</code>) and can be set by running <code>configure</code> with the option
+<pre> ./configure --prefix=/where/you/want/R/to/go
+</pre>
+
+<p>This installs the R executable to <code>/where/you/want/R/to/go/bin</code>, and so
+on. The prefix of the installation directories can also be seen in the
+status message that is displayed at the end of <code>configure</code>. You can
+install into another directory by using
+
+<pre> make prefix=/path/to/here install
+</pre>
+
+<p>To install DVI, info and PDF versions of the manuals, use one or more of
+<pre> make install-dvi
+ make install-info
+ make install-pdf
+</pre>
+
+<p>To ensure that the installed tree is usable by the right group of users,
+set <code>umask</code> appropriately (perhaps to <code>022</code>) before unpacking the
+sources and throughout the build process.
+
+<p><hr>
+Node:<a name="Installing%20R%20under%20Windows">Installing R under Windows</a>,
+Next:<a rel=next href="#Installing%20R%20on%20Classic%20MacOS">Installing R on Classic MacOS</a>,
+Previous:<a rel=previous href="#Installing%20R%20under%20Unix">Installing R under Unix</a>,
+Up:<a rel=up href="#Top">Top</a>
+<br>
+
+<h1>Installing R under Windows</h1>
+
+<p>The <code>bin/windows</code> directory of a <small>CRAN</small> site contains
+binaries for a base distribution and a large number of add-on packages
+from <small>CRAN</small> to run on Windows 95, 98, NT4, 2000 and ME (at
+least) on Intel and clones (but not on other platforms).
+
+<p>You do need one of those Windows versions: Windows 3.11+win32s will not
+work.
+
+<p>Your file system must allow long file names (as is likely except
+perhaps for some network-mounted systems).
+
+<p>The simplest way is to use <code>SetupR.exe</code> or <code>miniR.exe</code>. Just
+double-click on the icon and follow the instructions. If you installed
+R this way you can uninstall it from the Control Panel or Start Menu
+(unless you suppressed making a group for R).
+
+<p>For more details see the
+<a href="http://www.stats.ox.ac.uk/pub/R/rw-FAQ.html">R Windows <small>FAQ</small></a>.
+
+<ul>
+<li><a href="#Building%20from%20Source">Building from Source</a>:
+</ul>
+
+<p><hr>
+Node:<a name="Building%20from%20Source">Building from Source</a>,
+Previous:<a rel=previous href="#Installing%20R%20under%20Windows">Installing R under Windows</a>,
+Up:<a rel=up href="#Installing%20R%20under%20Windows">Installing R under Windows</a>
+<br>
+
+<h2>Building from Source</h2>
+
+<p>If you want to build this port from the sources, see the file
+<code>src/gnuwin32/INSTALL</code> in the source distribution. You will need to
+collect, install and test an extensive set of tools: see
+<a href="http://www.stats.ox.ac.uk/pub/Rtools/">http://www.stats.ox.ac.uk/pub/Rtools/</a> for the current locations.
+
+<p>You may need to compile under a case-honouring file system: we found
+that a <code>samba</code>-mounted file system (which maps all file names to
+lower case) did not work. Open a commands window at a directory whose
+path does not contain spaces, and run something like
+<pre>tar zxvf R-1.3.0.tgz
+cd R-1.3.0\src\gnuwin32
+make
+</pre>
+
+<p>sit back and wait (for about 5 minutes on 1GHz PIII with a fast local disc).
+
+<p>For further details, including how to make the documentation and how to
+cross-compile, see <code>src/gnuwin32/INSTALL</code>.
+
+<p><hr>
+Node:<a name="Installing%20R%20on%20Classic%20MacOS">Installing R on Classic MacOS</a>,
+Next:<a rel=next href="#Add-on%20Packages">Add-on Packages</a>,
+Previous:<a rel=previous href="#Installing%20R%20under%20Windows">Installing R under Windows</a>,
+Up:<a rel=up href="#Top">Top</a>
+<br>
+
+<h1>Installing R on Classic MacOS</h1>
+
+<p>The <code>bin/macos</code> directory of a <small>CRAN</small> site contains
+<code>bin-hex</code>ed (<code>hqx</code>) and <code>stuffit</code> (<code>sit</code>)
+self-extracting binaries for a base distribution and a large number of
+add-on packages to run under MacOS 8.6 to MacOS 9.1 or MacOS X under
+Classic Environment.
+
+<p>Just extract one of these self-extracting binaries in a suitable folder.
+
+<p>There is also a port to MacOS X which is considered to be a Unix variant
+in this document.
+
+<p><hr>
+Node:<a name="Add-on%20Packages">Add-on Packages</a>,
+Next:<a rel=next href="#Essential%20and%20Useful%20Other%20Programs">Essential and Useful Other Programs</a>,
+Previous:<a rel=previous href="#Installing%20R%20on%20Classic%20MacOS">Installing R on Classic MacOS</a>,
+Up:<a rel=up href="#Top">Top</a>
+<br>
+
+<h1>Add-on Packages</h1>
+
+<ul>
+<li><a href="#Installing%20packages">Installing packages</a>:
+<li><a href="#Updating%20packages">Updating packages</a>:
+<li><a href="#Removing%20packages">Removing packages</a>:
+</ul>
+
+<p>This chapter applies to Unix-like and Windows versions of R, but not
+to the Classic MacOS port.
+
+<p>It is helpful to use the correct terminology. A <em>package</em> is
+loaded from a <em>library</em> by the function <code>library</code>. Thus a
+library is a directory containing installed packages; the main library
+is <code>R_HOME/library</code>, but others can be used, for example by setting
+the environment variable <code>R_LIBS</code> or the R object <code>.lib.loc</code>.
+
+<p><hr>
+Node:<a name="Installing%20packages">Installing packages</a>,
+Next:<a rel=next href="#Updating%20packages">Updating packages</a>,
+Previous:<a rel=previous href="#Add-on%20Packages">Add-on Packages</a>,
+Up:<a rel=up href="#Add-on%20Packages">Add-on Packages</a>
+<br>
+
+<h2>Installing packages</h2>
+
+<p>Note that you need to specify implicitly or explicitly the library to
+which the package is to be installed. This is only an issue if you have
+more than one library, of course.
+
+<p>To install packages from source on Unix use
+<pre>R CMD INSTALL -l /path/to/library pkg1 pkg2 ...
+</pre>
+
+<p>The part <code>-l /path/to/library</code> can be omitted, when the first
+library in <code>R_LIBS</code> is used if set, otherwise the main library
+<code>R_HOME/library</code>.
+
+<p>The Windows equivalent is<a rel=footnote href="#fn-1"><sup>1</sup></a>
+<pre>Rcmd INSTALL -l /path/to/library pkg1 pkg2 ...
+</pre>
+
+<p>Alternatively, packages can be downloaded and installed from within R.
+First set the option <code>CRAN</code> to your nearest <small>CRAN</small> mirror, for
+example
+<pre>&gt; options(CRAN = "cran.us.r-project.org")
+</pre>
+
+<p>Then download and install package <code>foo</code> by
+<pre>&gt; install.packages("foo")
+</pre>
+
+<p>Unless the library is specified (argument <code>lib</code>) the first library
+in <code>.lib.loc</code> is used.
+
+<p>What this does is different on Unix and Windows. On Unix it consults the
+list of available source packages on <small>CRAN</small>, downloads the
+latest version of the <code>foo</code> sources, and installs it (via <code>R
+CMD INSTALL</code>). On Windows it looks at the list of <em>binary</em>
+versions of packages and downloads the latest version (if any).
+
+<p>On Windows <code>install.packages</code> can also install a binary package
+from a local <code>zip</code> file by setting argument <code>CRAN</code> to <code>NULL</code>.
+
+<p><hr>
+Node:<a name="Updating%20packages">Updating packages</a>,
+Next:<a rel=next href="#Removing%20packages">Removing packages</a>,
+Previous:<a rel=previous href="#Installing%20packages">Installing packages</a>,
+Up:<a rel=up href="#Add-on%20Packages">Add-on Packages</a>
+<br>
+
+<h2>Updating packages</h2>
+
+<p>The command <code>update.packages()</code> is the simplest way to ensure that
+all the packages on your system are up to date. Set the <code>CRAN</code>
+option as in the previous section. The <code>update.packages()</code>
+downloads the list of available packages and their current versions,
+compares it with those installed and offers to fetch and install any
+that have later versions on <small>CRAN</small>.
+
+<p><hr>
+Node:<a name="Removing%20packages">Removing packages</a>,
+Previous:<a rel=previous href="#Updating%20packages">Updating packages</a>,
+Up:<a rel=up href="#Add-on%20Packages">Add-on Packages</a>
+<br>
+
+<h2>Removing packages</h2>
+
+<p>Packages can be removed in a number of ways. From a command prompt they
+can be removed by
+
+<pre>R CMD REMOVE -l /path/to/library pkg1 pkg2 ...
+</pre>
+
+<p>(Unix) or
+<pre>Rcmd REMOVE -l /path/to/library pkg1 pkg2 ...
+</pre>
+
+<p>(Windows).
+
+<p>From a running R process they can be removed by
+<pre>&gt; remove.packages(c("pkg1", "pkg2"), lib="/path/to/library")
+</pre>
+
+<p>Finally, in most installations one can just remove the package directory
+from the library.
+
+<p><hr>
+Node:<a name="Essential%20and%20Useful%20Other%20Programs">Essential and Useful Other Programs</a>,
+Next:<a rel=next href="#Configuration%20on%20Unix">Configuration on Unix</a>,
+Previous:<a rel=previous href="#Add-on%20Packages">Add-on Packages</a>,
+Up:<a rel=up href="#Top">Top</a>
+<br>
+
+<h1>Essential and Useful Other Programs</h1>
+
+<p>This appendix gives details of programs you will need to build R on
+Unix-like platforms, or which will be used by R if found by
+<code>./configure</code>.
+
+<ul>
+<li><a href="#Essential%20Programs">Essential Programs</a>:
+<li><a href="#Useful%20Libraries%20and%20Programs">Useful Libraries and Programs</a>:
+</ul>
+
+<p><hr>
+Node:<a name="Essential%20Programs">Essential Programs</a>,
+Next:<a rel=next href="#Useful%20Libraries%20and%20Programs">Useful Libraries and Programs</a>,
+Previous:<a rel=previous href="#Essential%20and%20Useful%20Other%20Programs">Essential and Useful Other Programs</a>,
+Up:<a rel=up href="#Essential%20and%20Useful%20Other%20Programs">Essential and Useful Other Programs</a>
+<br>
+
+<h2>Essential Programs</h2>
+
+<p>You need a means of compiling C and <small>FORTRAN</small> (see <a href="#Using%20Fortran">Using Fortran</a>).
+Some add-on packages also need a C++ compiler.
+
+<p>You will need Perl version 5, available via
+<a href="http://www.perl.com/CPAN/">http://www.perl.com/CPAN/</a>, to build any of the on-line
+documentation.
+
+<p>You will not be able to build the info files unless you have
+<code>makeinfo</code> version 4 or later installed (and some Linux
+distributions have 3.12).
+
+<p>The typeset documentation needs <code>tex</code> and <code>latex</code>, or
+<code>pdftex</code> and <code>pdflatex</code>.
+
+<ul>
+<li><a href="#Building%20on%20MacOS%20X">Building on MacOS X</a>:
+</ul>
+
+<p><hr>
+Node:<a name="Building%20on%20MacOS%20X">Building on MacOS X</a>,
+Previous:<a rel=previous href="#Essential%20Programs">Essential Programs</a>,
+Up:<a rel=up href="#Essential%20Programs">Essential Programs</a>
+<br>
+
+<h3>Building on MacOS X</h3>
+
+<p>You can build R as a Unix application on MacOS X. You will need the
+DevTools, <code>f2c</code> (<a href="ftp://netlib.bell-labs.com/netlib/f2c.tar">ftp://netlib.bell-labs.com/netlib/f2c.tar</a><a rel=footnote href="#fn-2"><sup>2</sup></a>) and the <code>dlcompat</code> libraries<a rel=footnote href="#fn-3"><sup>3</sup></a>.
+
+<p>You will also need to install a X sub-system or configure with
+<code>--without-x</code>.
+
+<p><hr>
+Node:<a name="Useful%20Libraries%20and%20Programs">Useful Libraries and Programs</a>,
+Previous:<a rel=previous href="#Essential%20Programs">Essential Programs</a>,
+Up:<a rel=up href="#Essential%20and%20Useful%20Other%20Programs">Essential and Useful Other Programs</a>
+<br>
+
+<h2>Useful Libraries and Programs</h2>
+
+<p>The command-line editing depends on the <code>readline</code> library
+available from any GNU mirror: you will need a fairly recent version.
+
+<p>The bitmapped graphics devices <code>jpeg()</code> and <code>png()</code> need the
+appropriate libraries installed: <code>jpeg</code> version 6 or <code>libpng</code>
+and <code>libz</code> respectively.
+
+<p>The <code>bitmap</code> and <code>dev2bitmap</code> devices make use of ghostscript
+(<a href="http://www.cs.wisc.edu/~ghost">http://www.cs.wisc.edu/~ghost</a>).
+
+<ul>
+<li><a href="#Tcl%2fTk">Tcl/Tk</a>:
+<li><a href="#Linear%20Algebra">Linear Algebra</a>:
+</ul>
+
+<p><hr>
+Node:<a name="Tcl%2fTk">Tcl/Tk</a>,
+Next:<a rel=next href="#Linear%20Algebra">Linear Algebra</a>,
+Previous:<a rel=previous href="#Useful%20Libraries%20and%20Programs">Useful Libraries and Programs</a>,
+Up:<a rel=up href="#Useful%20Libraries%20and%20Programs">Useful Libraries and Programs</a>
+<br>
+
+<h3>Tcl/Tk</h3>
+
+<p>The <strong>tcltk</strong> package needs Tcl/Tk installed: the sources are
+available at <a href="dev.scriptics.com">dev.scriptics.com</a>. To specify the locations of the
+Tcl/Tk files you may need the configuration options
+<dl>
+<dt><code>--with-tcltk</code>
+<dd>use Tcl/Tk, or specify its library directory
+<br><dt><code>--with-tcl-config=TCL_CONFIG</code>
+<dd>specify location of <code>tclConfig.sh</code>
+<br><dt><code>--with-tk-config=TK_CONFIG</code>
+<dd>specify location of <code>tkConfig.sh</code>
+</dl>
+
+<p><hr>
+Node:<a name="Linear%20Algebra">Linear Algebra</a>,
+Previous:<a rel=previous href="#Tcl%2fTk">Tcl/Tk</a>,
+Up:<a rel=up href="#Useful%20Libraries%20and%20Programs">Useful Libraries and Programs</a>
+<br>
+
+<h3>Linear Algebra</h3>
+
+<p>The linear algebra routines in R can make use of enhanced BLAS (Basic
+Linear Algebra Subprograms) routines. Some are compiler-system-specific
+(<code>libcxml</code> and <code>libdxml</code> on Alphas, <code>libsunperf</code> on Sun
+Sparc, <code>libscs</code> and <code>libcomplib.sgimath</code> on SGI,
+<code>libessl</code> on IBM) but ATLAS (<a href="http://www.netlib.org/atlas">http://www.netlib.org/atlas</a>) is a
+`tuned' BLAS that runs on a wide range of platforms. If no more
+specific library is found, a <code>libblas</code> library in the library path
+will be used. You can specify a specific BLAS library by the
+configuration option <code>--with-blas</code> and not to use an external BLAS
+library by <code>--without-blas</code>.
+
+<p>Note that the BLAS library will be used for several add-on packages as
+well as for R itself. This means that it is better to use a
+shared BLAS library, as most of a static library will be compiled into
+the R executable and each BLAS-using package.
+
+<p><hr>
+Node:<a name="Configuration%20on%20Unix">Configuration on Unix</a>,
+Next:<a rel=next href="#New%20Platforms">New Platforms</a>,
+Previous:<a rel=previous href="#Essential%20and%20Useful%20Other%20Programs">Essential and Useful Other Programs</a>,
+Up:<a rel=up href="#Top">Top</a>
+<br>
+
+<h1>Configuration on Unix</h1>
+
+<ul>
+<li><a href="#Configuration%20options">Configuration options</a>:
+<li><a href="#Configuration%20variables">Configuration variables</a>:
+<li><a href="#Using%20make">Using make</a>:
+<li><a href="#Using%20Fortran">Using Fortran</a>:
+<li><a href="#Compile%20and%20Load%20Flags">Compile and Load Flags</a>:
+<li><a href="#Building%20the%20GNOME%20Interface">Building the GNOME Interface</a>:
+</ul>
+
+<p><hr>
+Node:<a name="Configuration%20options">Configuration options</a>,
+Next:<a rel=next href="#Configuration%20variables">Configuration variables</a>,
+Previous:<a rel=previous href="#Configuration%20on%20Unix">Configuration on Unix</a>,
+Up:<a rel=up href="#Configuration%20on%20Unix">Configuration on Unix</a>
+<br>
+
+<h2>Configuration options</h2>
+
+<p><code>configure</code> has many options: running
+<pre> ./configure --help
+</pre>
+
+<p>will give a list. Probably the most important ones not covered elsewhere are
+<pre> --with-x use the X Window System
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+ --with-readline use readline library (if available) [yes]
+ --enable-R-profiling attempt to compile support for Rprof() [yes]
+ --enable-R-shlib build R as a shared library [no]
+</pre>
+You can use <code>--without-foo</code> or <code>--disable-foo</code> for the
+negatives.
+
+<p>You will want to use <code>--enable-R-profiling</code> if you are building a
+profiled copy of R.
+
+<p>Flag <code>--enable-R-shlib</code> causes the make process to make <code>libR.so</code>,
+and to take considerably longer, so you probably only want this if you
+will be using an application which embeds R.
+
+<p><hr>
+Node:<a name="Configuration%20variables">Configuration variables</a>,
+Next:<a rel=next href="#Using%20make">Using make</a>,
+Previous:<a rel=previous href="#Configuration%20options">Configuration options</a>,
+Up:<a rel=up href="#Configuration%20on%20Unix">Configuration on Unix</a>
+<br>
+
+<h2>Configuration variables</h2>
+
+<p>If you need or want to set certain configure variables to something
+other than their default, you can do that by either editing the file
+<code>config.site</code> (which documents all the variables you might want to set)
+or on the command line as
+
+<pre> VAR="..." ./configure # Bourne shell compatibles
+ (setenv VAR "..."; ./configure) # C shell
+</pre>
+
+<p>One common variable to change is <code>R_PAPERSIZE</code>, which defaults to
+<code>a4</code>, not <code>letter</code>.
+
+<p>If you have libraries and header files, e.g., for GNU readline, in
+non-system directories, use the variables <code>LIBS</code> (for libraries)
+and <code>CPPFLAGS</code> (for header files), respectively, to specify these
+locations. These default to <code>/usr/local/lib</code> and
+<code>/usr/local/include</code> to catch the most common cases. If libraries
+are still not found, then maybe your compiler/linker does not support
+re-ordering of <code>-L</code> and <code>-l</code> flags (this has been reported to be a
+problem on HP-UX with the native <code>cc</code>). In this case, use a different
+compiler (or a front end shell script which does the re-ordering).
+
+<p>If you find you need to alter configure variables, it is worth noting
+that some settings are cached in the file <code>config.cache</code>, and it is
+a good idea to remove that file before re-configuring.
+
+<p><hr>
+Node:<a name="Using%20make">Using make</a>,
+Next:<a rel=next href="#Using%20Fortran">Using Fortran</a>,
+Previous:<a rel=previous href="#Configuration%20variables">Configuration variables</a>,
+Up:<a rel=up href="#Configuration%20on%20Unix">Configuration on Unix</a>
+<br>
+
+<h2>Using make</h2>
+
+<p>To compile R, you will most likely find it easiest to use GNU
+<code>make</code>. On Solaris 2.6/7/8 in particular, you need a version of
+GNU <code>make</code> different from 3.77; 3.79 works fine, as does the Sun
+<code>make</code>.
+
+<p>To build in a separate directory you need a <code>make</code> that uses the
+<code>VPATH</code> variable, for example GNU <code>make</code>, or Sun <code>make</code>
+on Solaris 2.7/8 (but not earlier).
+
+<p>If you want to use a <code>make</code> by another name, for example if your
+GNU <code>make</code> is called <code>gmake</code>, you need to set the environment
+variable <code>MAKE</code> at configure time, for example
+<pre> MAKE=gmake ./configure (sh, bash)
+ env MAKE=gmake ./configure (csh)
+</pre>
+
+<p><hr>
+Node:<a name="Using%20Fortran">Using Fortran</a>,
+Next:<a rel=next href="#Compile%20and%20Load%20Flags">Compile and Load Flags</a>,
+Previous:<a rel=previous href="#Using%20make">Using make</a>,
+Up:<a rel=up href="#Configuration%20on%20Unix">Configuration on Unix</a>
+<br>
+
+<h2>Using Fortran</h2>
+
+<p>To compile R, you need a <small>FORTRAN</small> compiler or <code>f2c</code>, the
+<small>FORTRAN</small>-to-C converter (<a href="http://www.netlib.org/f2c">http://www.netlib.org/f2c</a>). The
+default is to search for <code>g77</code>, <code>f77</code>, <code>xlf</code>,
+<code>cf77</code>, <code>cft77</code>, <code>pgf77</code>, <code>fl32</code>, <code>af77</code>,
+<code>fort77</code>, <code>f90</code>, <code>xlf90</code>, <code>pgf90</code>, <code>epcf90</code>,
+<code>f95</code>, <code>xlf95</code>, <code>lf9</code>5, <code>g95</code>, and <code>fc</code> (in
+that order), and then for <code>f2c</code>, and use whichever is found first;
+if none is found, R cannot be compiled. The search mechanism can be
+changed using the <code>--with-g77</code>, <code>--with-f77</code>, and
+<code>--with-f2c</code> command line options to <code>configure</code>. If your
+<small>FORTRAN</small> compiler is in a non-standard location, you should set the
+environment variable <code>PATH</code> accordingly before running
+<code>configure</code>.
+
+<p>If your <small>FORTRAN</small> libraries are in slightly peculiar places, you should
+also look at <code>LD_LIBRARY_PATH</code> to make sure that all libraries are
+on this path.
+
+<p>You must set whatever compilation flags (if any) are needed to ensure
+that <small>FORTRAN</small> <code>integer</code> is equivalent to a C <code>int</code> pointer and
+<small>FORTRAN</small> <code>double precision</code> is equivalent to a C <code>double</code>
+pointer. This is checked during the configuration process.
+
+<p><hr>
+Node:<a name="Compile%20and%20Load%20Flags">Compile and Load Flags</a>,
+Next:<a rel=next href="#Building%20the%20GNOME%20Interface">Building the GNOME Interface</a>,
+Previous:<a rel=previous href="#Using%20Fortran">Using Fortran</a>,
+Up:<a rel=up href="#Configuration%20on%20Unix">Configuration on Unix</a>
+<br>
+
+<h2>Compile and Load Flags</h2>
+
+<p>A wide range of flags can be set in the file <code>config.site</code> or via
+environment variables. We have already mentioned
+<dl>
+<dt><code>CPPFLAGS</code>
+<dd>extra include flags
+<br><dt><code>LIBS</code>
+<dd>libraries and <code>-L/lib/path</code> flags
+</dl>
+
+<p>and others include
+<dl>
+<dt><code>CFLAGS</code>
+<dd>debugging and optimization flags, C
+<br><dt><code>MAIN_CFLAGS</code>
+<dd>ditto, for compiling the main program
+<br><dt><code>SHLIB_CFLAGS</code>
+<dd>or shared libraries
+<br><dt><code>FFLAGS</code>
+<dd>debugging and optimization flags, Fortran
+<br><dt><code>MAIN_FFLAGS</code>
+<dd>ditto, for compiling the main program
+<br><dt><code>SHLIB_FFLAGS</code>
+<dd>for shared libraries
+<br><dt><code>MAIN_LDFLAGS</code>
+<dd>additional flags for the main link
+<br><dt><code>SHLIB_LDFLAGS</code>
+<dd>additional flags for the linking shared libraries
+</dl>
+
+<p>Library paths specified as <code>-L/lib/path</code> in <code>LIBS</code> are
+collected together and prepended to <code>LD_LIBRARY_PATH</code>, so there
+should be no need for <code>-R</code> or <code>-rpath</code> flags.
+
+<p>To compile a profiling version of R, one might for example want to
+use <code>MAIN_CFLAGS=-pg</code>, <code>MAIN_FFLAGS=-pg</code>,
+<code>MAIN_LDFLAGS=-pg</code> on platforms where <code>-pg</code> cannot be used
+with position-independent code.
+
+<p><hr>
+Node:<a name="Building%20the%20GNOME%20Interface">Building the GNOME Interface</a>,
+Previous:<a rel=previous href="#Compile%20and%20Load%20Flags">Compile and Load Flags</a>,
+Up:<a rel=up href="#Configuration%20on%20Unix">Configuration on Unix</a>
+<br>
+
+<h2>Building the GNOME Interface</h2>
+
+<p>This interface is experimental, incomplete and not currently being
+developed. It provides a console and a graphics device <code>(gtk()</code>;
+the <code>x11()</code> device can also be used). Many of the `features' of
+the console are currently stubs.
+
+<p>The GNOME interface for R will only be built if you specify it by
+running configure with the <code>--with-gnome</code> option. For example, you
+might run
+<pre> ./configure --with-gnome
+</pre>
+
+<p>but please check you have all the requirements first. It is advisable
+to have reasonably-up-to-date versions of the <code>gnome</code> and
+<code>gtk+</code> libraries.
+You can find the versions you have by
+<pre> gnome-config --version
+ gtk-config --version
+</pre>
+
+<p>We know 1.0.10 and 1.2.3 suffice. You need the following RPMs and
+their dependencies installed:
+<pre> gnome-libs
+ gnome-libs-devel
+ gtk+
+ gtk+-devel
+ glib
+ glib-devel
+</pre>
+
+<p>You will need also <code>libglade</code> 0.5 or later for correct behaviour.
+For more information on <code>libglade</code> and to download the source, see
+<a href="http://www.daa.com.au/~james/gnome/">http://www.daa.com.au/~james/gnome/</a>. The sources are also
+available from the GNOME ftp site (<a href="ftp.gnome.org">ftp.gnome.org</a> and mirrors).
+RPMs are in RedHat 6.1 and later.
+
+<p>Library <code>libglade</code> needs <code>libxml</code> 1.4 or later, the source for
+which is available from the GNOME ftp site (<a href="ftp.gnome.org">ftp.gnome.org</a> and
+mirrors).
+
+<p>The locations of some of these libraries can be set as configuration
+options, by
+<dl>
+<dt><code>--with-gnome</code>
+<dd>use GNOME, or specify its prefix [no]
+<br><dt><code>--with-gnome-includes=DIR</code>
+<dd>specify location of GNOME headers
+<br><dt><code>--with-gnome-libs=DIR</code>
+<dd>specify location of GNOME libs
+<br><dt><code>--with-libglade-config=LIBGLADE_CONFIG</code>
+<dd>specify location of <code>libglade-config</code>
+</dl>
+
+<p><hr>
+Node:<a name="New%20Platforms">New Platforms</a>,
+Next:<a rel=next href="#Function%20and%20variable%20index">Function and variable index</a>,
+Previous:<a rel=previous href="#Configuration%20on%20Unix">Configuration on Unix</a>,
+Up:<a rel=up href="#Top">Top</a>
+<br>
+
+<h1>New Platforms</h1>
+
+<p>There are a number of sources of problems when installing R on a new
+hardware/OS platform:
+
+<p><strong>Floating Point Arithmetic</strong>: R supports the POSIX, SVID and
+IEEE models for floating point arithmetic. The POSIX and SVID models
+provide no problems. The IEEE model however can be a pain. The problem
+is that there is no agreement on how to set the signalling behaviour;
+Sun/Sparc, SGI/IRIX and ix86 Linux require no special action, FreeBSD
+requires a call to (the macro) <code>fpsetmask(0)</code> and OSF1 requires
+that computation be done with a <code>-ieee_with_inexact</code> flag etc. On
+a new platform you must find out the magic recipe and add some code to
+make it work. This can often be done via the file <code>config.site</code>
+which resides in the top level directory.
+
+<p><strong>Shared Libraries</strong>: There seems to be very little agreement across
+platforms on what needs to be done to build shared libraries. there are
+many different combinations of flags for the compilers and loaders. The
+technique we use is to interrogate the X window system about what it
+does (using <code>xmkmf</code>). This often works, but you may have to
+manually override the results. Scanning the <code>cc(1)</code> and
+<code>ld(1)</code> manual entries usually reveals the correct incantation.
+Once you know the recipe you can modify the file <code>config.site</code>
+(following the instructions therein) so that the build will use these
+options.
+
+<p>If you do manage to get R running on a new platform please let us know
+about it so we can modify the configuration procedures to include that
+platform.
+
+<p>If you are having trouble getting R to work on your platform please
+feel free to get in touch to ask questions. We've had a fair amount
+of practice at porting R to new platforms <small>...</small>.
+
+<p><hr>
+Node:<a name="Function%20and%20variable%20index">Function and variable index</a>,
+Next:<a rel=next href="#Concept%20index">Concept index</a>,
+Previous:<a rel=previous href="#New%20Platforms">New Platforms</a>,
+Up:<a rel=up href="#Top">Top</a>
+<br>
+
+<h1>Function and variable index</h1>
+
+<ul compact>
+<li><code>configure</code>: <a href="#Using%20make">Using make</a>, <a href="#Configuration%20variables">Configuration variables</a>, <a href="#Installation">Installation</a>, <a href="#Simple%20Compilation">Simple Compilation</a>
+<li><code>install.packages</code>: <a href="#Installing%20packages">Installing packages</a>
+<li><code>make</code>: <a href="#Using%20make">Using make</a>
+<li><code>R_HOME</code>: <a href="#Simple%20Compilation">Simple Compilation</a>
+<li><code>remove.packages</code>: <a href="#Removing%20packages">Removing packages</a>
+<li><code>rsync</code>: <a href="#Using%20rsync">Using rsync</a>
+<li><code>update.packages</code>: <a href="#Updating%20packages">Updating packages</a>
+</ul>
+<p><hr>
+Node:<a name="Concept%20index">Concept index</a>,
+Previous:<a rel=previous href="#Function%20and%20variable%20index">Function and variable index</a>,
+Up:<a rel=up href="#Top">Top</a>
+<br>
+
+<h1>Concept index</h1>
+
+<ul compact>
+<li><small>FORTRAN</small>: <a href="#Using%20Fortran">Using Fortran</a>
+<li>Help pages: <a href="#Simple%20Compilation">Simple Compilation</a>
+<li>Installation: <a href="#Installation">Installation</a>
+<li>Installing under MacOS: <a href="#Installing%20R%20on%20Classic%20MacOS">Installing R on Classic MacOS</a>
+<li>Installing under Unix: <a href="#Installing%20R%20under%20Unix">Installing R under Unix</a>
+<li>Installing under Windows: <a href="#Installing%20R%20under%20Windows">Installing R under Windows</a>
+<li>Linux: <a href="#Installing%20R%20under%20Unix">Installing R under Unix</a>
+<li>MacOS X: <a href="#Installing%20R%20on%20Classic%20MacOS">Installing R on Classic MacOS</a>, <a href="#Installing%20R%20under%20Unix">Installing R under Unix</a>
+<li>Manuals: <a href="#Making%20the%20Manuals">Making the Manuals</a>
+<li>Manuals, installing: <a href="#Installation">Installation</a>
+<li>Obtaining R: <a href="#Obtaining%20R">Obtaining R</a>
+<li>Packages: <a href="#Add-on%20Packages">Add-on Packages</a>
+<li>Packages, installing: <a href="#Installing%20packages">Installing packages</a>
+<li>Packages, removing: <a href="#Removing%20packages">Removing packages</a>
+<li>Packages, updating: <a href="#Updating%20packages">Updating packages</a>
+<li>Patch files: <a href="#Getting%20and%20Unpacking%20the%20Sources">Getting and Unpacking the Sources</a>
+<li>Sources for R: <a href="#Getting%20and%20Unpacking%20the%20Sources">Getting and Unpacking the Sources</a>
+</ul>
+
+
+<hr><h4>Footnotes</h4>
+<ol type="1">
+<li><a name="fn-1"></a>
+<p>if you have Perl and the source-code
+package files installed</p>
+
+<li><a name="fn-2"></a>
+<p>compile with <code>c++</code> or comment out <code>sigcatch(0)</code> in line 520
+of <code>main.c</code></p>
+
+<li><a name="fn-3"></a>
+<p>e.g.
+<a href="http://fink.sourceforge.net/files/dlcompat-20010123.tar.gz">http://fink.sourceforge.net/files/dlcompat-20010123.tar.gz</a></p>
+
+</ol><hr>
+
+</body></html>
+
Please sign in to comment.
Something went wrong with that request. Please try again.