The new R 4.0.0+ repository location is https://github.com/AndreMikulec/r-base
R for windows Generic_Debug
and <CPU optimized>_NoDebug
versions of debug/optimized for C, C++, and Fortran on 32/64 bit Windows
Two build of R exist: Generic_Debug
and <CPU optimized>_NoDebug
.
The Debug version Generic_Debug
contains R language debugging symbols. E.g. if the debug target is Rterm.exe and the package DLL has been loaded, then when debugging the package DLL, the symbols Rf_error
and Rf_PrintValue
are available.
See the video:
Using gdb to debug R packages with native code
userprimary
The CPU Optimized version <CPU optimized>_NoDebug
is built using custom optimization flag(s) available in Rtools 35 (and later).
Debugging symbols are not
included.
One may not be aware of a new release/point_release of R. E.g. a point release is like the following: 3.6.z or 4.y.z. If so, inform one about it. Email to [email protected]. One then should then run the AppVeyor build to create the new release/point_releases.
If one may want the official version of R for windows, then one may go to any one of here: https://cran.r-project.org/bin/windows/base/, https://ftp.opencpu.org/archive/r-release/, or https://github.com/rwinlib/base/releases.
If one may want the Patched snapshot build of R for windows, then one may go here: https://cran.r-project.org/bin/windows/base/rpatched.html.
If one may want the Build of the development version (which will eventually become the next major release) of R for windows, then one may go here: https://cran.r-project.org/bin/windows/base/rdevel.html.
This is configured In the file https://github.com/AndreMikulec/base/blob/master/appveyor.yml and place:
environment:
matrix:
Configuration is in the files: appveyor.yml, MkRules.local.in.40, MkRules.local.in, and build.bat.
From rwinlib/base (May 5, 2019), see this commit. This commit was never applied to AndreMikulec/base. https://github.com/rwinlib/base/commit/8e4eeb2e44bf23764ffdf11e1366f01140829179
The OPB version of R for windows only chooses to build on the default Rtools version. Multiple(or different) Rtools %RTOOLS_VERSION% versions are chosen.
This is configured In the file https://github.com/AndreMikulec/base/blob/master/appveyor.yml and place:
environment:
matrix:
From the OPB version of R for windows in the file https://github.com/rwinlib/base differences (in here) follow:
Because 64-bit Windows does not support dwarf-*, in the file https://github.com/AndreMikulec/base/blob/master/files/MkRules.local.in.40 and in the file https://github.com/AndreMikulec/base/blob/master/files/MkRules.local.in, added, is
G_FLAG = -ggdb
In the Debug variant of R Generic_Debug
in the
file https://github.com/AndreMikulec/base/blob/master/scripts/build.bat, changed, is from
make 32-bit
to
make 32-bit DEBUG=T
In the Debug variant of R Generic_Debug
in the
file https://github.com/AndreMikulec/base/blob/master/scripts/build.bat, changed, is from
make distribution
to
make distribution DEBUG=T
Again, because 64-bit Windows does not support dwarf-*, in the
file https://github.com/AndreMikulec/base/blob/master/scripts/build.bat, after
any R-ANY.tar.gz extraction of the file src\gnuwin32\fixed\etc\Makeconf
using
sed -i "s/-gdwarf-2/-ggdb/g" %R_HOME%/src/gnuwin32/fixed/etc/Makeconf
changed, is from
DEBUGFLAG=-gdwarf-2
to
DEBUGFLAG=-ggdb
Because, of the various custom march/mtune runs of these AppVeyor build-jobs and the changing of march/mtune in the file https://github.com/AndreMikulec/base/blob/master/files/MkRules.rules in the OPB version of R
EOPTS ?= -mfpmath=sse -msse2
is explicity set. However, in the file https://github.com/AndreMikulec/base/blob/master/files/MkRules.local
EOPTS = %MARCHMTUNE%
explicitly overrides the former value.
In the file https://github.com/AndreMikulec/base/blob/master/scripts/build.bat, using
sed -i "s/\(.*\)/\1 %MARCHMTUNENAME% %DIST_BUILD% Rtools %RTOOLS_VERSION%/g" %R_HOME%/VERSION-NICK
changed, is from
VERSION-NICK
to
VERSION-NICK %MARCHMTUNENAME% %DIST_BUILD% Rtools %RTOOLS_VERSION%
The upstream
file https://github.com/rwinlib/base/blob/master/appveyor.yml, has a signing section.
Removed, is the signing section. The file C:\jeroen.pfx
is not available.
The tests are not performed. These tests would/may cause any Appveyor build-job to use over one hour of allowed Appveyor build-job allowed time. However, the tests had already been done! To see the test results view:
https://ftp.opencpu.org/current/check.log
https://ftp.opencpu.org/archive/r-patched/svn_number/check.log
https://ftp.opencpu.org/archive/r-release/R-x.y.z/check.log
Note, after the installation of R, upon a package install from source,
that contains a source file in the sub-folder \src
, the following message may occur:
make: Warning: File '. . . /etc/i386/Makeconf' has modification time zzzzz s in the future
The reason for this message is the following. Early in the Appveyor build job, the time zone was changed to UTC. After the time zone change, the file Makeconf was modified ( above by 'sed'). The time zone is not stored in OS metadata about a file. This message can be ignored. This message will no longer display in zzzzz/3600 hours.
From the directories R-source-win64\src\gnuwin32\front-ends
and R-source-win32\src\gnuwin32\front-ends
object (.o) files (with or without debugging symbols) are contained in . . .
*-FEobjs64.zip
and
*-FEobjs32.zip
These may be useful?
After, one may install the debug version of R Generic_Debug
.
One may then place these object (.o) files in the correct directories:
bin\x64
and
bin\i386
Located near the top of
the page https://github.com/AndreMikulec/base/releases,
one may get deployments from one of the top
(recent) build-jobs.
Expand the asset drop down arrow: [v}Asset and download the
base_*...*.zip
file that contains the files:
- R-x.y.z[archive]-win.exe R installer
- *-FEobjs64.zip
- *-FEobjs32.zip