[Rd] R Compilation gets stuck on Windows 64

Indrajit Sen Gupta
Fri, 09 Feb 2018 07:16:31 -0000

Hi Avraham,

A quick question - I realized I did not have *Perl* installed. So I
installed *ActiveState Perl* right now. Also I see I need *texinfo* and
*texi2any*. I was able to installed *texinfo* from here:
http://gnuwin32.sourceforge.net/packages/texinfo.htm. But not sure where to
get *texi2any*. Can you guide me in this step?

Regards,
Indrajit

On Fri, Feb 9, 2018 at 11:58 AM, Indrajit Sen Gupta <indrajitsg at
gmail.com>
wrote:

> 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]]