Commit 00d04353 authored by Dirk Eddelbuettel's avatar Dirk Eddelbuettel

Import Debian changes 3.4.3-1

r-base (3.4.3-1) unstable; urgency=medium

  * New upstream release

r-base (3.4.2.20171123-1) unstable; urgency=medium

  * Initial rc build (r73776) of R 3.4.3 expected for November 30

r-base (3.4.2.20171120-1) unstable; urgency=medium

  * Initial beta build (r73753) of R 3.4.3 expected for November 30

  * debian/control: Set Standards-Version: to current version 
parent c15dbce9
Revision: 73368
Last Changed Date: 2017-09-28
Revision: 73796
Last Changed Date: 2017-11-30
Short Summer
Kite-Eating Tree
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for R 3.4.2.
# Generated by GNU Autoconf 2.69 for R 3.4.3.
#
# Report bugs to <https://bugs.r-project.org>.
#
......@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='R'
PACKAGE_TARNAME='R'
PACKAGE_VERSION='3.4.2'
PACKAGE_STRING='R 3.4.2'
PACKAGE_VERSION='3.4.3'
PACKAGE_STRING='R 3.4.3'
PACKAGE_BUGREPORT='https://bugs.r-project.org'
PACKAGE_URL='https://www.r-project.org'
......@@ -753,6 +753,7 @@ LIBOBJS
RMATH_HAVE_LOG1P
RMATH_HAVE_HYPOT
RMATH_HAVE_EXPM1
MACOS_SIERRA
ALLOCA
R_OPENMP_FFLAGS
R_OPENMP_CFLAGS
......@@ -1702,7 +1703,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures R 3.4.2 to adapt to many kinds of systems.
\`configure' configures R 3.4.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1777,7 +1778,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of R 3.4.2:";;
short | recursive ) echo "Configuration of R 3.4.3:";;
esac
cat <<\_ACEOF
......@@ -2064,7 +2065,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
R configure 3.4.2
R configure 3.4.3
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -3216,7 +3217,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by R $as_me 3.4.2, which was
It was created by R $as_me 3.4.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -3728,7 +3729,7 @@ _ACEOF
## exclude some unsupported OSes
case "${host_os}" in
## Darwin 1.3.1 was macOS 10.0, 1.4.1 was 10.1, 5 is 10.2 etc
## with 13 being 10.9. We no longer support < 10.6 (Snow Leopard)
## with 13 being 10.9. We no longer support < 10.6 (Snow Leopard, Darwin 10)
## https://en.wikipedia.org/wiki/Darwin_OS
darwin1.*)
as_fn_error $? "The earliest supported macOS is 10.6.
......@@ -25211,7 +25212,7 @@ _ACEOF
# flags.
r_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $r_verb"
(eval echo $as_me:25214: \"$ac_link\") >&5
(eval echo $as_me:25215: \"$ac_link\") >&5
r_c_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
echo "$r_c_v_output" >&5
CFLAGS=$r_save_CFLAGS
......@@ -25286,7 +25287,7 @@ _ACEOF
# flags.
r_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $r_cv_prog_c_v"
(eval echo $as_me:25289: \"$ac_link\") >&5
(eval echo $as_me:25290: \"$ac_link\") >&5
r_c_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
echo "$r_c_v_output" >&5
CFLAGS=$r_save_CFLAGS
......@@ -34881,6 +34882,15 @@ _ACEOF
fi
done
## Used to avoid a problem with some Xcode 9 updates on macOS 10.12 (Darwin 16)
case "${host_os}" in
darwin1[0123456].*)
$as_echo "#define MACOS_SIERRA 1" >>confdefs.h
;;
esac
## clock_gettime is POSIX 1993, but not on macOS prior to 10.12 (Sierra)
## Some OSes need -lrt: Linux (for glibc versions before 2.17), Solaris,
## not FreeBSD.
......@@ -51352,7 +51362,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by R $as_me 3.4.2, which was
This file was extended by R $as_me 3.4.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -51419,7 +51429,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
R config.status 3.4.2
R config.status 3.4.3
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......@@ -79,7 +79,7 @@ AC_DEFINE_UNQUOTED(R_OS, "${host_os}",
## exclude some unsupported OSes
case "${host_os}" in
## Darwin 1.3.1 was macOS 10.0, 1.4.1 was 10.1, 5 is 10.2 etc
## with 13 being 10.9. We no longer support < 10.6 (Snow Leopard)
## with 13 being 10.9. We no longer support < 10.6 (Snow Leopard, Darwin 10)
## https://en.wikipedia.org/wiki/Darwin_OS
darwin1.*)
AC_MSG_ERROR([The earliest supported macOS is 10.6.]
......@@ -87,7 +87,7 @@ case "${host_os}" in
darwin[[56789]]*)
AC_MSG_ERROR([The earliest supported macOS is 10.6.]
;;
aix[123]*|aix4.[01]*)
aix[[123]]*|aix4.[[01]]*)
## These need a form of linking we no longer support
AC_MSG_ERROR([AIX prior to 4.2 is not supported])
;;
......@@ -1872,6 +1872,13 @@ R_CHECK_FUNCS([sched_setaffinity sched_getaffinity], [#include <sched.h>])
R_CHECK_FUNCS([utime], [#include <utime.h>])
## POSIX.1-2008 preferred form
R_CHECK_FUNCS([utimensat], [#include <sys/stat.h>])
## Used to avoid a problem with some Xcode 9 updates on macOS 10.12 (Darwin 16)
case "${host_os}" in
darwin1[[0123456]].*)
AC_DEFINE(MACOS_SIERRA, 1, [macOS 10.12 (Sierra) or earlier])
;;
esac
AC_SUBST(MACOS_SIERRA)
## clock_gettime is POSIX 1993, but not on macOS prior to 10.12 (Sierra)
## Some OSes need -lrt: Linux (for glibc versions before 2.17), Solaris,
## not FreeBSD.
......
r-base (3.4.3-1) unstable; urgency=medium
* New upstream release
-- Dirk Eddelbuettel <edd@debian.org> Thu, 30 Nov 2017 06:19:52 -0600
r-base (3.4.2.20171123-1) unstable; urgency=medium
* Initial rc build (r73776) of R 3.4.3 expected for November 30
-- Dirk Eddelbuettel <edd@debian.org> Thu, 23 Nov 2017 10:11:54 -0600
r-base (3.4.2.20171120-1) unstable; urgency=medium
* Initial beta build (r73753) of R 3.4.3 expected for November 30
* debian/control: Set Standards-Version: to current version
-- Dirk Eddelbuettel <edd@debian.org> Mon, 20 Nov 2017 08:09:27 -0600
r-base (3.4.2-2) unstable; urgency=medium
* debian/control: Use openjdk-9-jdk in Build-Depends as we generally
......
......@@ -2,7 +2,7 @@ Source: r-base
Section: gnu-r
Priority: optional
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Standards-Version: 4.0.0
Standards-Version: 4.1.1
Build-Depends: gcc (>= 4:4.1.0), g++ (>= 4:4.1.0), gfortran (>= 4:4.1.0), libblas-dev, liblapack-dev (>= 3.1.1), tcl8.6-dev, tk8.6-dev, bison, groff-base, libncurses5-dev, libreadline-dev, debhelper (>= 7.2.3), texinfo (>= 4.1-2), libbz2-dev, liblzma-dev, libpcre3-dev, libcurl4-openssl-dev | libcurl4-dev, xdg-utils, zlib1g-dev, libpng-dev, libjpeg-dev, libx11-dev, libxt-dev, x11proto-core-dev, libpango1.0-dev, libcairo2-dev, libtiff5-dev, xvfb, xauth, xfonts-base, texlive-base, texlive-latex-base, texlive-generic-recommended, texlive-fonts-recommended, texlive-fonts-extra, texlive-extra-utils, texlive-latex-recommended, texlive-latex-extra, openjdk-9-jdk | default-jdk [!arm !hppa !kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], mpack, bash-completion
Homepage: http://www.r-project.org/
......
......@@ -227,9 +227,9 @@ code and bug reports.
Since mid-1997 there has been a core group (the "R Core Team") who
can modify the R source code archive. The group currently consists of
Doug Bates, John Chambers, Peter Dalgaard, Seth Falcon, Robert
Gentleman, Kurt Hornik, Stefano Iacus, Ross Ihaka, Friedrich Leisch, Uwe
Ligges, Thomas Lumley, Martin Maechler, Duncan Murdoch, Paul Murrell,
Doug Bates, John Chambers, Peter Dalgaard, Robert Gentleman, Kurt
Hornik, Ross Ihaka, Tomas Kalibera, Michael Lawrence, Friedrich Leisch,
Uwe Ligges, Thomas Lumley, Martin Maechler, Martin Morgan, Paul Murrell,
Martyn Plummer, Brian Ripley, Deepayan Sarkar, Duncan Temple Lang, Luke
Tierney, and Simon Urbanek.
......@@ -360,9 +360,9 @@ The 'bin/windows' directory of a CRAN site contains binaries for a base
distribution and add-on packages from CRAN to run on Windows 7 and later
(including 64-bit versions of Windows) on ix86 and x86_64 chips. The
Windows version of R was created by Robert Gentleman and Guido
Masarotto, Brian D. Ripley made substantial contributions and it is now
being maintained by Duncan Murdoch <murdoch@stats.uwo.ca> and other
members of the R Core team.
Masarotto, Brian D. Ripley and Duncan Murdoch made substantial
contributions and it is now being maintained by other members of the R
Core team.
The same directory has links to snapshots of the r-patched and
r-devel versions of R.
......
R News
CHANGES IN R 3.4.3:
INSTALLATION on a UNIX-ALIKE:
* A workaround has been added for the changes in location of
time-zone files in macOS 10.13 'High Sierra' and again in
10.13.1, so the default time zone is deduced correctly from the
system setting when R is configured with --with-internal-tzcode
(the default on macOS).
* R CMD javareconf has been updated to recognize the use of a Java
9 SDK on macOS.
BUG FIXES:
* raw(0) & raw(0) and raw(0) | raw(0) again return raw(0) (rather
than logical(0)).
* intToUtf8() converts integers corresponding to surrogate code
points to NA rather than invalid UTF-8, as well as values larger
than the current Unicode maximum of 0x10FFFF. (This aligns with
the current RFC3629.)
* Fix calling of methods on S4 generics that dispatch on ... when
the call contains ....
* Following Unicode 'Corrigendum 9', the UTF-8 representations of
U+FFFE and U+FFFF are now regarded as valid by utf8ToInt().
* range(c(TRUE, NA), finite = TRUE) and similar no longer return
NA. (Reported by Lukas Stadler.)
* The self starting function attr(SSlogis, "initial") now also
works when the y values have exact minimum zero and is slightly
changed in general, behaving symmetrically in the y range.
* The printing of named raw vectors is now formatted nicely as for
other such atomic vectors, thanks to Lukas Stadler.
CHANGES IN R 3.4.2:
NEW FEATURES:
......
......@@ -5,6 +5,51 @@
\title{R News}
\encoding{UTF-8}
\section{\Rlogo CHANGES IN R 3.4.3}{
\subsection{INSTALLATION on a UNIX-ALIKE}{
\itemize{
\item A workaround has been added for the changes in location of
time-zone files in macOS 10.13 \sQuote{High Sierra} and
again in 10.13.1, so the default time zone is deduced
correctly from the system setting when \R is configured with
\option{--with-internal-tzcode} (the default on macOS).
\item \command{R CMD javareconf} has been updated to recognize the
use of a Java 9 SDK on macOS.
}
}
\subsection{BUG FIXES}{
\itemize{
\item \code{raw(0) & raw(0)} and \code{raw(0) | raw(0)}
again return \code{raw(0)} (rather than \code{logical(0)}).
\item \code{intToUtf8()} converts integers corresponding to
surrogate code points to \code{NA} rather than invalid UTF-8, as
well as values larger than the current Unicode maximum of
\code{0x10FFFF}. (This aligns with the current RFC3629.)
\item Fix calling of methods on S4 generics that dispatch on
\code{\dots} when the call contains \code{\dots}.
\item Following Unicode \sQuote{Corrigendum 9}, the UTF-8
representations of U+FFFE and U+FFFF are now regarded as valid by
\code{utf8ToInt()}.
\item \code{range(c(TRUE, NA), finite = TRUE)} and similar no longer
return \code{NA}. (Reported by Lukas Stadler.)
\item The self starting function \code{attr(SSlogis, "initial")}
now also works when the y values have exact minimum zero and is
slightly changed in general, behaving symmetrically in the y range.
\item The printing of named raw vectors is now formatted nicely as
for other such atomic vectors, thanks to Lukas Stadler.
}
}
}
\section{\Rlogo CHANGES IN R 3.4.2}{
\subsection{NEW FEATURES}{
......@@ -107,7 +152,7 @@
\item It is again possible to use \command{configure
--enable-maintainer-mode} without having installed
\command{notangle} (it was required in \R 3.4.[01]).
\item S4 method dispatch on \code{\dots} calls the method by name
instead of \code{.Method} (for consistency with default dispatch),
and only attempts to pass non-missing arguments from the generic.
......@@ -365,7 +410,7 @@
\code{tol} in the result, and optionally parts of the internal
matrix computations.
\item \code{addNA()} is faster now, e.g.{} when applied twice.
\item \code{addNA()} is faster now, e.g.\sspace{}when applied twice.
(Part of \PR{16895}.)
\item New option \code{rstandard(<lm>, type = "predicted")}
......
No preview for this file type
......@@ -7,6 +7,69 @@
<h2>R News</h2>
<h3><img src="../help/figures/../../html/Rlogo.svg" class="toplogo" alt="[R logo]" /> CHANGES IN R 3.4.3</h3>
<h4>INSTALLATION on a UNIX-ALIKE</h4>
<ul>
<li><p> A workaround has been added for the changes in location of
time-zone files in macOS 10.13 &lsquo;High Sierra&rsquo; and
again in 10.13.1, so the default time zone is deduced
correctly from the system setting when <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> is configured with
<span class="option">--with-internal-tzcode</span> (the default on macOS).
</p>
</li>
<li> <p><code>R CMD javareconf</code> has been updated to recognize the
use of a Java 9 SDK on macOS.
</p>
</li></ul>
<h4>BUG FIXES</h4>
<ul>
<li> <p><code>raw(0) &amp; raw(0)</code> and <code>raw(0) | raw(0)</code>
again return <code>raw(0)</code> (rather than <code>logical(0)</code>).
</p>
</li>
<li> <p><code>intToUtf8()</code> converts integers corresponding to
surrogate code points to <code>NA</code> rather than invalid UTF-8, as
well as values larger than the current Unicode maximum of
<code>0x10FFFF</code>. (This aligns with the current RFC3629.)
</p>
</li>
<li><p> Fix calling of methods on S4 generics that dispatch on
<code>...</code> when the call contains <code>...</code>.
</p>
</li>
<li><p> Following Unicode &lsquo;Corrigendum 9&rsquo;, the UTF-8
representations of U+FFFE and U+FFFF are now regarded as valid by
<code>utf8ToInt()</code>.
</p>
</li>
<li> <p><code>range(c(TRUE, NA), finite = TRUE)</code> and similar no longer
return <code>NA</code>. (Reported by Lukas Stadler.)
</p>
</li>
<li><p> The self starting function <code>attr(SSlogis, "initial")</code>
now also works when the y values have exact minimum zero and is
slightly changed in general, behaving symmetrically in the y range.
</p>
</li>
<li><p> The printing of named raw vectors is now formatted nicely as
for other such atomic vectors, thanks to Lukas Stadler.
</p>
</li></ul>
<h3><img src="../help/figures/../../html/Rlogo.svg" class="toplogo" alt="[R logo]" /> CHANGES IN R 3.4.2</h3>
......
This diff is collapsed.
......@@ -262,9 +262,9 @@ by sending code and bug reports.
Since mid-1997 there has been a core group (the ``R Core Team'') who can
modify the R source code archive. The group currently consists of Doug
Bates, John Chambers, Peter Dalgaard, Seth Falcon, Robert Gentleman,
Kurt Hornik, Stefano Iacus, Ross Ihaka, Friedrich Leisch, Uwe Ligges,
Thomas Lumley, Martin Maechler, Duncan Murdoch, Paul Murrell, Martyn
Bates, John Chambers, Peter Dalgaard, Robert Gentleman,
Kurt Hornik, Ross Ihaka, Tomas Kalibera, Michael Lawrence, Friedrich Leisch, Uwe Ligges,
Thomas Lumley, Martin Maechler, Martin Morgan, Paul Murrell, Martyn
Plummer, Brian Ripley, Deepayan Sarkar, Duncan Temple Lang, Luke
Tierney, and Simon Urbanek.
......@@ -461,10 +461,9 @@ The @file{bin/windows} directory of a @CRAN{} site contains binaries for
a base distribution and add-on packages from @CRAN{} to run on Windows
7 and later (including 64-bit versions of Windows) on ix86 and x86_64
chips. The Windows version of R was created by Robert Gentleman and
Guido Masarotto, Brian D. Ripley made substantial contributions
and it is now being maintained by
@email{murdoch@@stats.uwo.ca, Duncan Murdoch} and other members
of the R Core team.
Guido Masarotto, Brian D. Ripley and Duncan Murdoch made substantial
contributions and it is now being maintained by
other members of the R Core team.
The same directory has links to snapshots of the r-patched and r-devel
versions of R.
......
......@@ -1788,10 +1788,6 @@ If you update your macOS version, you should re-install @R{} (and
perhaps XQuartz): the installer may tailor the installation to the
current version of the OS.
When running under High Sierra (10.13), @R{} may not be able to deduce
the system timezone, in which case you will need to set the environment
variable @env{TZ}: see @code{?Sys.timezone}.
For building @R{} from source, see @ref{macOS}.
......@@ -2842,7 +2838,7 @@ in most of the Chinese-speaking world.
macOS supports locales in its own particular way, but the @R{} GUI tries to
make this easier for users. See
@uref{https://developer.apple.com/@/documentation/@/MacOSX/@/Conceptual/@/BPInternational/}
@uref{https://developer.apple.com/@/library/@/content/@/documentation/@/MacOSX/@/Conceptual/@/BPInternational/}
for how users can set their locales. As with Windows, end users will
generally only see lists of languages/territories. Users of @R{} in a
terminal may need to set the locale to something like @samp{en_GB.UTF-8}
......@@ -4489,7 +4485,7 @@ File @file{configure} is created from @file{configure.ac} and the files
under @file{m4} by @command{autoconf} and @command{aclocal} (part of the
@pkg{automake} package). There is a formal version requirement on
@command{autoconf} of 2.62 or later, but it is unlikely that anything
other than the most recent versions@footnote{at the time of revsion of
other than the most recent versions@footnote{at the time of revision of
this para in 2017, @pkg{autoconf-2.69} from 2012 and @pkg{automake-1.15}
from 2015.} have been thoroughly tested.
......@@ -4873,8 +4869,8 @@ will make use of it if GNU readline is not found.} That and other
binary components are available from
@uref{https://r.research.att.com/libs}: you will need @code{pcre} and
@code{xz} (for @code{libzma}) as recent macOS versions provide libraries
but not headers for these (and the system @code{pcre} is too old at
version 8.02).
but not headers for these (and the system @code{pcre} is too old at 8.02
for versions up to Sierra, although High Sierra has 8.40).
An X sub-system is required unless configuring using
@option{--without-x}: see @uref{https://xquartz.macosforge.org/}. @R{}'s
......@@ -4947,7 +4943,7 @@ FLIBS = -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin16/6.3.0
More recent and complete distributions of @command{clang} are often
available from @uref{http://llvm.org/releases/}: for example at the time
of writing for 4.0.1, built for Sierra or later. In particular, these
of writing of 5.0.0 built for Sierra or later. In particular, these
should include support for OpenMP. Another build of clang 4.0.0 is
available at
@uref{https://r.research.att.com/@/libs/@/clang-4.0.0-darwin15.6-Release.tar.gz}.
......@@ -5051,29 +5047,13 @@ some upgrades but not others).
@menu
* High Sierra::
* Tcl/Tk headers and libraries::
* Java (macOS)::
* Frameworks::
* Building R.app::
@end menu
@node High Sierra, Tcl/Tk headers and libraries, macOS, macOS
@subsection High Sierra
Default builds@footnote{This is not the case if the non-default
@command{configure} option @option{--without-internal-tzcode} was used
-- but @R{} then does not pass its checks.} of @R{} on High Sierra fail
to detect the system time zone, as it gets reported something like
@example
unknown timezone 'default/Europe/London'
@end example
@noindent
which is not a standard form. This can be circumvented by setting the
environment variable @env{TZ} (in the example, to @samp{Europe/London}.
@node Tcl/Tk headers and libraries, Java (macOS), High Sierra, macOS
@node Tcl/Tk headers and libraries, Java (macOS), macOS, macOS
@subsection Tcl/Tk headers and libraries
If you plan to use the @code{tcltk} package for @R{}, you need to
......@@ -5132,13 +5112,13 @@ upgrade may remove one if already installed: it is intended to be
installed at first use. Check if a JRE is installed by running
@command{java -version} in a @command{Terminal} window: if Java is not
installed@footnote{In the unlikely event that the version reported does
not start with @code{1.8.0} you need to update your Java.} this should
prompt you to install it. You can also install directly the latest Java
from Oracle (currently from
not start with @code{1.8.0} or @code{9} you need to update your Java.}
this should prompt you to install it. You can also install directly the
latest Java from Oracle (currently from
@uref{http://www.oracle.com/@/technetwork/@/java/@/javase/@/downloads/@/index.html}).
Binary distributions of @R{} are built against a specific version (e.g.@:
1.8.0_131) of Oracle Java so @command{sudo R CMD javareconf} may be
1.8.0_121) of Oracle Java so @command{sudo R CMD javareconf} may be
needed before using Java-using packages.
@c You may need to install what Apple calls `legacy Java'@footnote{e.g.@:
......@@ -5158,14 +5138,23 @@ compiling JNI programs (used by packages @CRANpkg{rJava} and
JRE.
The build process tries to fathom out what JRE/JDK to use, but it may
need some help, e.g.@: by setting @env{JAVA_HOME}. The Oracle JDK can
need some help, e.g.@: by setting @env{JAVA_HOME}. An Oracle JDK can
be specified explicitly by something like
@example
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
JAVA_CPPFLAGS="-I/$@{JAVA_HOME@}/include -I/$@{JAVA_HOME@}/include/darwin"
JAVA_LD_LIBRARY_PATH="$@{JAVA_HOME@}/jre/lib/server"
JAVA_LIBS="-L/$@{JAVA_HOME@}/jre/lib/server -ljvm"
@end example
@noindent
or
@example
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
JAVA_CPPFLAGS="-I/$@{JAVA_HOME@}/include -I/$@{JAVA_HOME@}/include/darwin"
JAVA_LD_LIBRARY_PATH="$@{JAVA_HOME@}/lib/server"
JAVA_LIBS="-L/$@{JAVA_HOME@}/lib/server -ljvm"
@end example
@noindent
in @file{config.site}.
(An Apple JRE, if available, can be specified explicitly by something
......
......@@ -738,8 +738,10 @@ combined @emph{via} @samp{,} (see below for an example). For versioned
licenses, one can also specify the name followed by the version, or
combine an existing abbreviation and the version with a @samp{-}.
Abbreviations @code{GPL} and @code{LGPL} are ambiguous and usually taken
to mean any version of the license: but it is better not to use them.
Abbreviations @code{GPL} and @code{LGPL} are ambiguous and
usually@footnote{@acronym{CRAN} expands them to e.g.@: @code{GPL-2
| GPL-3}.} taken to mean any version of the license: but it is better
not to use them.
@item
One of the strings @samp{file LICENSE} or @samp{file LICENCE} referring
to a file named @file{LICENSE} or @file{LICENCE} in the package (source
......@@ -2478,9 +2480,9 @@ features which are not otherwise implemented in C++, and C++ compilers
commonly accept C99 extensions to C++98. A minor update@footnote{The
changes are linked from
@uref{https://isocpp.org/@/std/@/standing-documents/@/sd-6-sg10-feature-test-recommendations}.}
to C++11 (C++14) was published in December 2014. The next standard has
been sent to ISO and is likely to be approved in 2017: it is informally
known as C++17.
to C++11 (C++14) was published in December 2014. The next standard
(C++17) was approved in Sept 2017 and will be published by ISO in due
course.
What standard a C++ compiler aims to support can be hard to determine:
the value@footnote{Values @code{199711}, @code{201103L} and
......@@ -2495,7 +2497,8 @@ native@footnote{Some distributions, notably Debian, have supplied a
build of @command{clang} with @command{g++}'s headers and library.
Conversely, Apple's command named @command{g++} is based on
@command{clang} using @code{libc++}.} @code{libc++} headers and library
includes many C++11 features, and does not support TR1.
includes most C++14 features, and does not support TR1. As from version
6.0.0, @command{clang} is expected to default to C++14.
Since version 3.1.0, @R{} has provided support for C++11 in packages in
addition to C++98. This support is not uniform across platforms as it
......@@ -2625,7 +2628,7 @@ SystemRequirements: C++14
@end example
@noindent
in the @file{DESCRIPTION} file. Finally, the C++14 compiler can be
used systematically by setting the environment variable @env{USE_CXX17}.
used systematically by setting the environment variable @env{USE_CXX14}.
Note that code written for C++11 that emulates features of C++14 will
not necessarily compile under a C++14 compiler@footnote{As from @R{}
......@@ -4380,7 +4383,8 @@ interfaces to @R{}'s RNGs described in @ref{Random numbers}. In
particular, if more than one package initializes the system RNG (e.g.@:
@emph{via} @code{srand}), they will interfere with each other.
Nor should the C++11 random number library be used.
Nor should the C++11 random number library be used, nor any other
third-party random number generators such as those in GSL.
@item
Errors in memory allocation and reading/writing outside arrays are very
......@@ -4528,9 +4532,13 @@ suitable test for packages using @CRANpkg{rJava} would be
@example
.jinit()
jv <- .jcall("java/lang/System", "S", "getProperty", "java.runtime.version")
jvn <- as.numeric(paste0(strsplit(jv, "[.]")[[1L]][1:2], collapse = "."))
if(jvn < 1.8) stop("Java 8 is needed for this package but not available")
if(substr(jv, 1L, 1L) == "1") @{
jvn <- as.numeric(paste0(strsplit(jv, "[.]")[[1L]][1:2], collapse = "."))
if(jvn < 1.8) stop("Java 8 is needed for this package but not available")
@}
@end example
@noindent
(Java 9 changed the format of this string.)
Some packages have stated a requirement on a particular JDK, but a
package should only be requiring a JRE unless providing its own Java
......@@ -8411,6 +8419,17 @@ Recent versions@footnote{including @command{gcc} 7.1 and @command{clang}
added the flag @option{-fsanitize-address-use-after-scope}: see
@uref{https://github.com/@/google/@/sanitizers/@/wiki/@/AddressSanitizerUseAfterScope}.
One of the checks done by ASAN is that @code{malloc/free} and in C++
@code{new/delete} and @code{new[]/delete[]} are used consistently
(rather than say @code{free} being used to dealloc memory allocated by
@code{new[]}). This matters on some systems but not all: unfortunately
on some of those where it does not matter, system libraries@footnote{for
example, X11/GL libraries on Linux, seen when checking package
@CRANpkg{rgl} and some others using it---a workaround is to set
environment variable @env{RGL_USE_NULL=true}.} are not consistent. The
check can be suppressed by including @samp{alloc_dealloc_mismatch=0} in
@env{ASAN_OPTIONS}.
@menu
* Using Leak Sanitizer::
@end menu
......@@ -8439,7 +8458,8 @@ and as the parser retains some memory to the end of the process, if @R{}
itself was built against ASan, all runs will have a failure error status
(which may include running @R{} as part of building @R{} itself).
To disable both this and some strict checking use
To disable this, allocation-mismatch checking and some strict C++
checking use
@example
setenv ASAN_OPTIONS 'alloc_dealloc_mismatch=0:detect_leaks=0:detect_odr_violation=0'
......@@ -8515,7 +8535,7 @@ See
Instrumentation Options') for the options supported by GCC: 6 and 7 support
@example
-fsanitize=alignment,bool,bounds,enum,integer-divide-by-zero,
nonnull-attribute,null,object-size, return,returns-nonnull-attribute,
nonnull-attribute,null,object-size,return,returns-nonnull-attribute,
shift,signed-integer-overflow,unreachable,vla-bound,vptr
@end example
@noindent
......@@ -8531,8 +8551,10 @@ where @code{float-divide-by-zero} is not desirable for @R{} uses and
@c and @code{vptr} checks produced many warnings on GCC's own C++ headers,
@c so should be disabled.
From GCC 8 @code{signed-integer-overflow} will no longer be a default part
of @option{-fsanitize=undefined}, but can be specified separately.
From GCC 8 @code{signed-integer-overflow} will no longer be a default
part of @option{-fsanitize=undefined}, but can be specified separately.
It adds options @option{-fsanitize=pointer-overflow} an
@option{-fsanitize=builtin}.
Other useful flags include
@example
......@@ -8561,6 +8583,11 @@ For more details on the topic see
@uref{http://blog.llvm.org/@/2011/@/05/@/what-every-c-programmer-should-know.html}
(which has 3 parts).
It may or may not be possible to build @R{} itself with
@option{-fsanitize=undefined}: when last tried it worked with
@command{clang} but there were problems with OpenMP-using code with
@command{gcc}.
@node Other analyses with `clang', Using `Dr. Memory', Using Undefined Behaviour Sanitizer, Checking memory access
@subsection Other analyses with `clang'
......@@ -8777,9 +8804,7 @@ Continue execution of @R{} by typing @kbd{signal 0@key{RET}}.
@end itemize
Under Windows signals may not be able to be used, and if so the procedure is