[Rd] R Compilation gets stuck on Windows 64

Indrajit Sen Gupta
Fri, 09 Feb 2018 06:28:52 -0000

Hi Avraham,

What a coincidence, I have been following this post of yours:
https://www.avrahamadler.com/2013/10/24/an-openblas-based-rblas-for-windows-64-step-by-step/

Looks like this post is slightly older than what you have shared
previously. It is strange that you did not get the attachments. I am
pasting the contents of the MkRules.local here:

-------------------------------------------------------------------

#-*- Makefile -*-

## This is only used when building R itself but it does customize
## etc/*/Makeconf using LOCAL_SOFT, BINPREF[64], IMPLIB and R_ARCH

## Customize by copying to MkRules.local and uncommenting and editing
## some of the definitions there.
##

## =========== configuration macros for building packages ===============#
Absolute path to '/usr/local' software collection.  The versions used
# on CRAN can be found at https://www.stats.ox.ac.uk/pub/Rtools/libs.html
# It can be interrogated by 'R CMD config LOCAL_SOFT'
# Use 'make rsync-extsoft' to populate the default directory.
# LOCAL_SOFT = D:/R64/extsoft

## ============== configuration macros for building R ==================
# Path of library directory containing zlib, bzlib, liblzma, pcre,
# libpng, libjpeg, libtiff.
# Use 'make rsync-extsoft' to populate the default directory.
EXT_LIBS = D:/R64/extsoft

# an alternative is to use -gstabs here, if the debugger supports only
stabs.
# G_FLAG = -gdwarf-2

# Set to YES and specify the path if you want to use the ATLAS BLAS.
USE_ATLAS = YES
ATLAS_PATH =D:/home/thread0

# Support for the ACML and Goto BLASes has been withdrawn: see R-admin.html

# Define to use svnversion to set SVN-REVISION (slow, and requires a clean
# checkout with no modifications).
# USE_SVNVERSION = YES

# With the previously recommended gcc 4.6.3 toolchain, set this to 32 or 64
# MULTI = 64
# If the toolchain's bin directory is not in your path, set this to the path
# (including the trailing /, and use / not \).
# TOOL_PATH # for other toolchains leave these empty and set the more detailed
options
below

# With the recommended gcc 4.9.3 toolchain or another toolchain, set
# BINPREF and BINPREF64 (below) to the respective bin directories.
# Include the trailing /, and use / not \.
# Do this in the more detailed options below
# Set this to 32 or 64
WIN = 64


### BEGIN more detailed options
# Some of the toolchains have prefixes for e.g. ar, gcc.
# This can also be used to give the full path to the compiler,
# including a trailing / .
# BINPREF = c:/Rtools/mingw_32/bin/
# prefix for 64-bit:
BINPREF64 = D:/Rtools/mingw_64/bin/
# Set this to indicate a non-gcc compiler and version
# COMPILED_BY = <determined automatically>

# Others use a -m64 or -m32 option to select architectures
# M_ARCH = -m64
# and for as (--32 or --64)
# AS_ARCH = --64
# and for windres (-F pe-i386 or pe-x86-64)
# RC_ARCH = pe-x86-64
# and for dlltool ("-m i386 --as-flags --32" vs "-m i386:x86-64
--as-flags
--64")
DT_ARCH = -m i386:x86-64 --as-flags --64

# 32- or 64-bit Windows?
WIN = 64

# The gcc 4.9.3 64 bit toolchain is set up for the 'medium code' model
and
needs
# to remove the .refptr and .weak entries from the exports list; this is
the default
# when WIN = 64, with blank for WIN = 32:
NM_FILTER = | $(SED) -e '/[.]refptr[.]/d' -e '/[.]weak[.]/d'

# We normally link directly against DLLs,
# but this macro forces the use of import libs
# Has been needed for some versions of MinGW-w64
USE_IMPLIBS = YES

### END more detailed options


# set to use ICU
USE_ICU = YES
# path to parent of ICU headers
ICU_PATH = D:/home/ICU
ICU_LIBS = -lsicuin -lsicuuc -lsicudt -lstdc++

# set to use libcurl
USE_LIBCURL = YES
# path to parent of libcurl headers
CURL_PATH = D:/home/curl
# libs: for 32-bit
# CURL_LIBS = -lcurl -lrtmp -lssl -lssh2 -lcrypto -lgdi32 -lcrypt32 -lz
-lws2_32 -lgdi32 -lcrypt32 -lwldap32 -lwinmm -lidn
# libs: for 64-bit
CURL_LIBS = -lcurl -lrtmp -lssl -lssh2 -lcrypto -lgdi32 -lcrypt32 -lz
-lws2_32 -lgdi32 -lcrypt32 -lwldap32 -lwinmm

# For the cairographics devices
# Optionally use a static build of cairographics from
#   https://www.rforge.net/Cairo/files/cairo-current-win.tar.gz
# and set CAIRO_HOME to the parent of the win32/win64 directories
#
# If CAIRO_HOME is not set the devices are not built.
CAIRO_HOME = D:/home/cairo/src

# set this to YES to build static HTML help
BUILD_HTML = YES

# unset this if you are *not* using MiKTeX
MIKTEX = TRUE
# Recent MiKTEX does not provide texi2dvi and needs something like
TEXI2DVI = TEXINDEX=texindex.exe texify

# for texinfo >= 5.1. If the texinfo files are installed at
/packages/texinfo,
# TEXI2ANY = /path/to/perl -I/packages/texinfo /packages/texinfo/texi2any
# if you do not have texinfo (default),
# TEXI2ANY = missing

# additional optimization flags (use -mtune=native for a private build)
EOPTS = -mtune=native

# define to -fopenmp if the toolchain has OpenMP support
# OPENMP = -fopenmp

# define to -pthread if the toolchain has pthreads support
# PTHREAD = -pthread

## ====== configuration macros for building installer ==========
# location where Inno Setup 5.[34].x was installed. Spaces allowed.
ISDIR = D:/home/inno5

# optional location where qpdf was installed (in $(QPDF)/bin). Spaces
allowed.
QPDF = D:/home/qpdf/bin

# home of 32-bit files for combined installer on 64-bit build
# HOME32
# Full paths of extra DLLs that need to be shipped
# e.g
# DLLs32 = c:/R/bin/pthreadGC2-w32.dll
# DLLs64 = c:/R/bin64/pthreadGC2-w64.dll
# DLLs32 # DLLs64

## ====== configuration macros for building MSI installer ==========
# location where WiX 3.x executables were installed. Spaces allowed.
# The MSI uses '/bin': other packagings may not
# WIX3DIR = C:/packages/WiX3.5/bin

# set to 1 for a non-elevated per-user installer
# WIX_PERSONAL = 0

## =============== end of user-customizable parts  ==================
-----------------------------------------------------------------------------------

I will go through your latest post and see what are the differences. I have
used the latest version of R 3.4.3 with the latest version of rtools:
Rtools34.exe.

Not sure why but i have feeling that the culprit might be a setting in the
MkRules.

Regards,
Indrajit

On Fri, Feb 9, 2018 at 10:53 AM, Avraham Adler <avraham.adler at
gmail.com>
wrote:

> On Thu, Feb 8, 2018 at 9:44 PM, Indrajit Sen Gupta <indrajitsg at
gmail.com>
> wrote:
> > Hi All,
> >
> > I am trying to compile R from source on a 64 bit Windows.
>
> [snip]
>
> > I had compiled earlier with MinGW and had created the file:
> > *libopenblas_haswell-r0.2.20.a. *
>
> Hello, Indrajit.
>
> I don't see your MkRules.local attached. In any event, perhaps try
> following the directions here [1]. I've been building R with OpenBLAS
> on Windows 64 for years and it almost always works. In the past year
> or two, rarely, it will stop with an error. But if you restart the
> make process (by just typing "make" again) it finishes with no
issues
> and passes make check-devel. I have not tried this with R-dev, though.
> R 3.4.3 Patched (2018-01-03 r74042) is the most recent I have built
> successfully.
>
> Good luck,
>
> Avraham
>
> [1] https://www.avrahamadler.com/r-tips/build-openblas-for-windows-r64/
>

	[[alternative HTML version deleted]]