From tomas.kalibera at gmail.com  Fri Feb  9 09:34:43 2018
From: tomas.kalibera at gmail.com (Tomas Kalibera)
Date: Fri, 9 Feb 2018 09:34:43 +0100
Subject: [Rd] R Compilation gets stuck on Windows 64
In-Reply-To: <CAB-BrmfrcW_yNqrhipM+Bk_ffO1=Kv32xFFJU0UxNFjH-GUU4A@mail.gmail.com>
References: <CAB-BrmcdSmj-3e9RY7Pzf-+vLb+4K3=gCEDyoEKNCdVh+rPJWw@mail.gmail.com>
 <CAL6gwnJFr_F+Bb2GDU+YH2_miNfbYwwJ=6FR2BAoZvQ4HeGc0w@mail.gmail.com>
 <CAB-BrmcLin89AQ8W6OZLaqcvvj7UZnvwK-MVCfRCsUBk2yni3A@mail.gmail.com>
 <CAB-BrmfrcW_yNqrhipM+Bk_ffO1=Kv32xFFJU0UxNFjH-GUU4A@mail.gmail.com>
Message-ID: <ac52d5ab-f8ae-1447-1e5e-c06b972cd54b@gmail.com>

Please note that building R on Windows is documented in "R Installation 
and Administration", including links to external software. Particularly 
there is a link to texinfo which is part of Rtools. The documentation is 
maintained and it is a sufficient source of information for building R 
on Windows.

https://cran.r-project.org/doc/manuals/r-release/R-admin.html
https://cran.r-project.org/bin/windows/base/rw-FAQ.html

Tomas

On 02/09/2018 08:16 AM, Indrajit Sen Gupta wrote:
> 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]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] R Compilation gets stuck on Windows 64
Tomas Kalibera