[R-SIG-Win] Rtools44

Avraham Adler @vr@h@m@@d|er @end|ng |rom gm@||@com
Tue Mar 19 15:33:12 CET 2024


For completeness, I compiled R from source using the native BLAS, and
make check fails again, this time on "aregexec". Running "agrep" from
within Rgui causes it to crash to desktop. Could it be something to do
with this: https://github.com/wch/r-source/commit/ba486d898c2698c2afb678abdab807510327541e?
But that didn't affect aregexc or adist? This is beyond my
understanding, but I'm happy to do any tests you need to help identify
what is going on.

Thank you,

Avi



On Mon, Mar 18, 2024 at 11:58 PM Avraham Adler <avraham.adler using gmail.com> wrote:
>
> I ran "tools::testInstalledBasic("both")" from within Rterm, and it
> failed on reg-tests-1a, and doesn't that last call in the FAIL look
> familiar? Three times isn;t coincidence. What could be causing
> agrep/adist to fail?
>
> Avi
>
> > a <- c("NA", NA, "BANANA")
> > na <- NA_character_
> > a1 <- substr(a,1,1)
> > stopifnot(is.na(a1)==is.na(a))
> > a2 <- substring(a,1,1)
> > stopifnot(is.na(a2)==is.na(a))
> > a3 <- sub("NA","na",a)
> > stopifnot(is.na(a3)==is.na(a))
> > a3 <- gsub("NA","na",a)
> > stopifnot(is.na(a3)==is.na(a))
> > substr(a3, 1, 2) <- "na"
> > stopifnot(is.na(a3)==is.na(a))
> > substr(a3, 1, 2) <- na
> > stopifnot(all(is.na(a3)))
> > stopifnot(agrep("NA", a) == c(1, 3))
>
> On Mon, Mar 18, 2024 at 11:52 PM Avraham Adler <avraham.adler using gmail.com> wrote:
> >
> > Hello, Tomas.
> >
> > I ran check again and this time it failed on base. Base failed at
> > "agrep" and utils failed at "adist" if that triggers any ideas.
> >
> > Thank you,
> >
> > Avi
> >
> > On Mon, Mar 18, 2024 at 11:49 PM Avraham Adler <avraham.adler using gmail.com> wrote:
> > >
> > > 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