[R-SIG-Win] Rtools44

Avraham Adler @vr@h@m@@d|er @end|ng |rom gm@||@com
Tue Mar 19 04:49:05 CET 2024


Hello, Tomas.

I had hoped that my problem was that I was linking to OpenBLAS built
under Rtools43, but sadly that is not the case, as I built OpenBLAS
using Rtools44 and I still get the error in 'utils'. I do have
Rtools43 installed on this machine, but I am doing eveything from the
Rtools44 bash. My MkRules.local follows:

USE_ATLAS = YES
ATLAS_PATH = C:/R/OPB/OPB_03.26_1T_44
EOPTS = -march=native -pipe -mno-rtm
LTO = -flto=1 -fuse-linker-plugin
LTO_OPT = -flto=1 -fuse-linker-plugin
LTO_FC = -flto=1 -fuse-linker-plugin
LTO_FC_OPT = -flto=1 -fuse-linker-plugin
QPDF = C:/R/qpdf-11.9.0-msvc64
OPENMP = -fopenmp

I also make the following change to Makefile.win in /src/extra/blas as
I have been doing for more than a decade:

--- /c/r/trunk/src/extra/blas/Makefile.win    2024-01-24
18:34:42.755255900 +0000
+++ /c/r/Makefile.win    2024-01-24 18:39:39.716458000 +0000
@@ -12,7 +12,7 @@
 ../../../$(BINDIR)/Rblas.dll: blas00.o ../../gnuwin32/dllversion.o
     @$(ECHO) -------- Building $@ --------
     $(DLL) -s -shared $(DLLFLAGS) -o $@ $^ Rblas.def \
-       -L../../../$(IMPDIR) -lR  -L"$(ATLAS_PATH)" -lf77blas -latlas
+       -L../../../$(IMPDIR) -lR -L"$(ATLAS_PATH)" -fopenmp -lopenblas
 else
 ../../../$(BINDIR)/Rblas.dll: blas.o blas2.o cmplxblas.o cmplxblas2.o
../../gnuwin32/dllversion.o
     @$(ECHO) -------- Building $@ --------

The utils-Ex.Rout.fail is 1188 lines long and I don't see any obvious
point of failure. The last few lines are:
> cleanEx()
> nameEx("adist")
> ### * adist
>
> flush(stderr()); flush(stdout())
>
> ### Name: adist
> ### Title: Approximate String Distances
> ### Aliases: adist
> ### Keywords: character
>
> ### ** Examples
>
> ## Cf. https://en.wikipedia.org/wiki/Levenshtein_distance
> adist("kitten", "sitting")
     [,1]
[1,]    3
> ## To see the transformation counts for the Levenshtein distance:
> drop(attr(adist("kitten", "sitting", counts = TRUE), "counts"))
ins del sub
  1   0   2
> ## To see the transformation sequences:
> attr(adist(c("kitten", "sitting"), counts = TRUE), "trafos")
     [,1]      [,2]
[1,] "MMMMMM"  "SMMMSMI"
[2,] "SMMMSMD" "MMMMMMM"
>
> ## Cf. the examples for agrep:
> adist("lasy", "1 lazy 2")
     [,1]
[1,]    5
> ## For a "partial approximate match" (as used for agrep):
> adist("lasy", "1 lazy 2", partial = TRUE)

The build works under Rtools43. Should I uninstall both versions of
Rtools, my current R installation, and its library and try again? I'm
doubtful that will help as my "active" R installation is in a
completely different directory, but I am willing to try. If there is
any output or other tests I can do, please let me know. Or, if you
think I should raise this on r-devel.

Thank you,

Avi

On Mon, Mar 18, 2024 at 4:08 AM Tomas Kalibera <tomas.kalibera using gmail.com> wrote:
>
> Hello Avi,
>
> On 3/17/24 17:53, Avraham Adler wrote:
> > Hello, Tomas.
> >
> > As always, thank you for your incessant hard work. I have compiled
> > R-devel 86144 using Rtools44 and it completes normally. However, it
> > fails very early in make check-devel. Specifically, I get the output
> > below, and have received it more than once. Is this something to raise
> > on R-devel or is it an Rtools44-specific issue?
> I can't tell from this output. Could you please try to get a more
> specific error output?
> Could you please share your compiler options (e.g. MkRules.local) and
> indeed if you made any modifications to the code?
>
> Also, as always, it is worth making sure that all code has been rebuilt
> using the new Rtools - e.g. delete any old package library for R-devel
> (4.4) you may have on your system.
>
> The testing done by myself and CRAN only covers the default compilation
> options as specified in the make files.
>
> Best
> Tomas
>
> >
> > Thank you,
> >
> > Avi
> >
> > $ make check-devel
> > Testing examples for package 'base'
> > Testing examples for package 'tools'
> >    comparing 'tools-Ex.Rout' to 'tools-Ex.Rout.save' ... NOTE
> >    1046,1047d1045
> >    < Warning in file(con, "r") :
> >    <   file("") only supports open = "w+" and open = "w+b": using the former
> >    1050,1051c1048,1049
> >    <  $ file    : chr ""
> >    <  $ title   : chr ""
> >    ---
> >    >  $ file    : chr "grid.Rnw"
> >    >  $ title   : chr "Introduction to grid"
> > Testing examples for package 'utils'
> > Error: testing 'utils' failed
> > Execution halted
> > make[3]: *** [Makefile.win:29: test-Examples-Base] Error 1
> > make[2]: *** [Makefile.common:208: test-Examples] Error 2
> > make[1]: *** [Makefile.common:193: test-all-basics] Error 1
> > make: *** [Makefile:333: check-devel] Error 2
> >
> >
> >
> > On Thu, Mar 14, 2024 at 4:45 AM Tomas Kalibera <tomas.kalibera using gmail.com> wrote:
> >> Dear R Windows developers,
> >>
> >> there is now a new toolchain for R for Windows, Rtools44. It is now used
> >> by R-devel and is intended for R 4.4.0.
> >>
> >> Compared to Rtools43, it uses GCC 13 and updates other core components.
> >> See https://cran.r-project.org/bin/windows/Rtools/rtools44/news.html for
> >> a detailed list of changes.
> >>
> >> All users of R-devel who need to compile R packages with source code in
> >> C, C++ or Fortran should install Rtools44. From the user perspective,
> >> Rtools44 works the same way as Rtools43. See
> >> https://cran.r-project.org/bin/windows/base/howto-R-devel.html for
> >> instructions on how to build R-devel and packages for this version of R.
> >>
> >> It is recommended to re-install packages that need compilation to avoid
> >> potential incompatibilities with code built using Rtools43.
> >>
> >> Rtools44 also includes an experimental version for 64-bit ARM machines,
> >> using LLVM 17 (and clang, flang-new, lld, libc++) - the aarch64 version
> >> of Rtools has its own installer and distribution tarballs.
> >>
> >> Best
> >> Tomas
> >>
> >> _______________________________________________
> >> R-SIG-windows mailing list
> >> R-SIG-windows using r-project.org
> >> https://stat.ethz.ch/mailman/listinfo/r-sig-windows



More information about the R-SIG-windows mailing list