Skip to content

Commit

Permalink
Deploying to gh-pages from @ c75dd79 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
andrie committed Aug 13, 2023
1 parent 342c453 commit 49aa9cf
Show file tree
Hide file tree
Showing 10 changed files with 352 additions and 361 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -378,15 +378,16 @@ <h2 class="section anchored" data-number="A.2" data-anchor-id="useful-libraries-
<p>The bitmapped graphics devices <code>jpeg()</code>, <code>png()</code> and <code>tiff()</code> need the appropriate headers and libraries installed: <code>jpeg</code> (version 6b or later, or <code>libjpeg-turbo</code>) or <code>libpng</code> (version 1.2.7 or later) and <code>zlib</code> or <code>libtiff</code> (versions 4.0.[5-10] and 4.[123].0 have been tested) respectively. <code>pkg-config</code> is used if available and so needs the appropriate <code>.pc</code> file (which requires <code>libtiff</code> version 4.x and is not available on all platforms for <code>jpeg</code> before version 9c). They also need support for either <code>X11</code> or <code>cairo</code> (see above). Should support for these devices <strong>not</strong> be required or broken system libraries need to be avoided there are <code>configure</code> options <code>--without-libpng</code>, <code>--without-jpeglib</code> and <code>--without-libtiff</code>. The TIFF library has many optional features such as <code>jpeg</code>, <code>libz</code>, <code>zstd</code>, <code>lzma</code>, <code>webp</code>, <code>jbig</code> and <code>jpeg12</code>, none of which is required for the <code>tiff()</code> devices but may need to be present to link the library (usually only an issue for static linking). <code>pkg-config</code> can tell you what other libraries are required for linking, for example by <code>pkg-config libtiff-4 --static --libs</code>.</p>
<p>Option <code>--with-system-tre</code> is also available: it needs a recent version of TRE. (The latest sources are in the <code>git</code> repository at <a href="https://github.com/laurikari/tre/" class="uri">https://github.com/laurikari/tre/</a>, but at the time of writing the resulting build did not complete its checks, nor did R built against the version supplied by Fedora.)</p>
<div class="page-columns page-full"><p>An implementation of XDR is required, and the R sources contain one which is likely to suffice (although a system version may have higher performance). XDR is part of RPC and historically has been part of <code>libc</code> on a Unix-alike. (In principle <code>man xdr_string</code> should tell you which library is needed, but it often does not: on some OSes it is provided by <code>libnsl</code>.) However some builds<a href="#fn16" class="footnote-ref" id="fnref16" role="doc-noteref"><sup>16</sup></a> of <code>glibc</code> omit or hide it with the intention that the TI-RPC library be used, in which case <code>libtirpc</code> (and its development version) should be installed, and its headers<a href="#fn17" class="footnote-ref" id="fnref17" role="doc-noteref"><sup>17</sup></a> need to be on the C include path or under <code>/usr/include/tirpc</code>.</p><div class="no-row-height column-margin column-container"><li id="fn16"><p><sup>16</sup>&nbsp;Including that used by Fedora.</p></li><li id="fn17"><p><sup>17</sup>&nbsp;R uses <code>rpc/xdr.h</code> but that includes <code>netconfig.h</code> from the top <code>tirpc</code> directory.</p></li></div></div>
<p>Library <code>libdeflate</code> (<a href="https://github.com/ebiggers/libdeflate" class="uri">https://github.com/ebiggers/libdeflate</a>) is used by <code>memCompress()</code> and <code>memDecompress()</code> if available.</p>
<p>Use of the X11 clipboard selection requires the <code>Xmu</code> headers and libraries. These are normally part of an X11 installation (e.g.&nbsp;the Debian meta-package <code>xorg-dev</code>), but some distributions have split this into smaller parts, so for example recent versions of Fedora require the <code>libXmu</code> and <code>libXmu-devel</code> RPMs.</p>
<p>Some systems (notably macOS and at least some FreeBSD systems) have inadequate support for collation in multibyte locales. It is possible to replace the OS’s collation support by that from ICU (International Components for Unicode, <a href="https://icu.unicode.org/" class="uri">https://icu.unicode.org/</a>), and this provides much more precise control over collation on all systems. ICU is available as sources and as binary distributions for (at least) most Linux distributions, FreeBSD, macOS and AIX, usually as <code>libicu</code> or <code>icu4c</code>. It will be used by default where available: should a very old or broken version of ICU be found this can be suppressed by <code>--without-ICU</code>.</p>
<p>The <code>bitmap</code> and <code>dev2bitmap</code> devices and function <code>embedFonts()</code> use ghostscript (<a href="https://www.ghostscript.com/" class="uri">https://www.ghostscript.com/</a>). This should either be in your path when the command is run, or its full path specified by the environment variable <code>R_GSCMD</code> at that time.</p>
<p>At the time of writing a full installation on Fedora Linux used the following packages and their development versions, and this may provide a useful checklist for other systems:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>bzip2 cairo fontconfig freetype fribidi gcc gcc<span class="sc">-</span>gfortran gcc<span class="sc">-</span>c<span class="sc">++</span> glib2</span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a>glibc harfbuzz libX11 libXext libXt libcurl libicu libjpeg libpng</span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a>libtiff libtirpc libxcrypt ncurses pango pkgconf<span class="sc">-</span>pkg<span class="sc">-</span>config pcre2</span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a>readline tcl tk xz zlib</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<p>plus, preferably a TeX installation, Java and LAPACK &gt;= 3.10.0.</p>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a>glibc harfbuzz lapack libX11 libXext libXt libcurl libdeflate libicu</span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a>libjpeg libpng libtiff libtirpc libxcrypt ncurses pango</span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a>pkgconf<span class="sc">-</span>pkg<span class="sc">-</span>config pcre2 readline tcl tk xz zlib</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<p>plus, preferably a TeX installation and Java.</p>
<section id="tcltk" class="level3 subsection page-columns page-full" data-number="A.2.1">
<h3 class="subsection anchored" data-number="A.2.1" data-anchor-id="tcltk"><span class="header-section-number">A.2.1</span> Tcl/Tk</h3>
<p>The <strong>tcltk</strong> package needs Tcl/Tk ≥ 8.4 installed: the sources are available at <a href="https://www.tcl.tk/" class="uri">https://www.tcl.tk/</a>. To specify the locations of the Tcl/Tk files you may need the configuration options</p>
Expand Down
2 changes: 1 addition & 1 deletion r-admin/Installing-R-under-Unix-alikes.html
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ <h3 class="subsection anchored" data-number="2.7.1" data-anchor-id="debugging-sy
</section>
<section id="openmp-support" class="level3 subsection page-columns page-full" data-number="2.7.2">
<h3 class="subsection anchored" data-number="2.7.2" data-anchor-id="openmp-support"><span class="header-section-number">2.7.2</span> OpenMP Support</h3>
<div class="page-columns page-full"><p>By default <code>configure</code> searches for suitable flags<a href="#fn10" class="footnote-ref" id="fnref10" role="doc-noteref"><sup>10</sup></a> for OpenMP support for the C, C++ (default standard) and Fortran compilers.</p><div class="no-row-height column-margin column-container"><li id="fn10"><p><sup>10</sup>&nbsp;for example, <code>-fopenmp</code>, <code>-xopenmp</code> or <code>-qopenmp</code>. This includes for <code>clang</code> and the Intel and Oracle compilers.</p></li></div></div>
<div class="page-columns page-full"><p>By default <code>configure</code> searches for suitable flags<a href="#fn10" class="footnote-ref" id="fnref10" role="doc-noteref"><sup>10</sup></a> for OpenMP support for the C, C++ (default standard) and Fortran compilers.</p><div class="no-row-height column-margin column-container"><li id="fn10"><p><sup>10</sup>&nbsp;for example, <code>-fopenmp</code>, <code>-fiopenmp</code>, <code>-xopenmp</code> or <code>-qopenmp</code>. This includes for <code>clang</code> and the Intel and Oracle compilers.</p></li></div></div>
<p>Only the C result is currently used for R itself, and only if <code>MAIN_LD</code>/<code>DYLIB_LD</code> were not specified. This can be overridden by specifying</p>
<div class="sourceCode" id="cb27"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a>R_OPENMP_CFLAGS</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<p>Use for packages has similar restrictions (involving <code>SHLIB_LD</code> and similar: note that as Fortran code is by default linked by the C (or C++) compiler, both need to support OpenMP) and can be overridden by specifying some of</p>
Expand Down
Loading

0 comments on commit 49aa9cf

Please sign in to comment.