[ESS] [External] [R-win] Difficulty installing R packages under Windows 11 / Cygwin

Martin Maechler m@ech|er @end|ng |rom @t@t@m@th@ethz@ch
Sat Dec 2 21:55:17 CET 2023


As R core and ESS core  I still have never tried to install ESS under Windows.
Just last week installed not only R for Windows (binary from CRAN) +
Rtools43 (by Tomas, from CRAN) and was able to install my Rmpfr
package (C code + external lib) *from source* -- again
thanks to Tomas Kalibera's  excellent  Rtools.
However, for Emacs & ESS,  I have always used the Windows port of
Emacs+ESS+Auctex+..  by Vincent Goulet (Canada)
which now resides here  https://emacs-modified.gitlab.io/
For me it's absolutely crucial and nicely working, also allowing
M-x R-[Tab]   get a list of my dozen different R versions all
installed in our (Terminal Server) Windows version.

Martin

On Sat, Dec 2, 2023 at 9:42 PM Richard M. Heiberger via ESS-help
<ess-help using r-project.org> wrote:
>
> my initial reaction is that you are trying to hard.  I haven't paid serious attention to Windows since
> I switched to Mac about 10 years ago.
>
> What I recall is that all the unix utilities (sh, awk, grep, etc) that you need are included in the
> Rtools collection.  Indeed they are exactly the cygwin utilities.  I know that I stopped bothering
> with cygwin itself once I meade that realization.  Then, since all the unix functions are distributed by
> R, you know that they are fully compatible.  I used the CRAN distibuted Windows binary for R.
>
> Rich
>
> > On Dec 2, 2023, at 12:59, Sparapani, Rodney via ESS-help <ess-help using r-project.org> wrote:
> >
> > Hi Robert:
> >
> > Would they allow dual-booting?  I’m not saying that you can’t get ESS
> > to work under Cygwin.  On the contrary, it did work at one time so
> > it certainly can be done.  However, that is not currently supported
> > so you are on your own.  But, perhaps there are others in the same
> > straight-jacket here on ess-help that might be willing to help?
> > Please speak up if so!
> >
> > In regards to WSL, that came out after I permanently switched
> > to macOS.  But, I think it is worth a try too.  Since you will be
> > running pure Linux binaries, then it might work out of the box.
> > And maybe there are more people here interested in WSL than
> > Cygwin.  Also, the more recent WSL 2 (released in 2019) sounds
> > like it is more compatible than WSL 1 (released in 2016).
> >
> > --
> > Rodney Sparapani, Associate Professor of Biostatistics, He/Him/His
> > Vice President, Wisconsin Chapter of the American Statistical Association
> > Institute for Health and Equity, Division of Biostatistics
> > Medical College of Wisconsin, Milwaukee Campus
> >
> > From: Robert Lerche <rlerche using pacificbiosciences.com>
> > Date: Saturday, December 2, 2023 at 11:40 AM
> > To: Sparapani, Rodney <rsparapa using mcw.edu>, Tomas Kalibera <tomas.kalibera using gmail.com>
> > Subject: RE: [R-win] Difficulty installing R packages under Windows 11 / Cygwin
> > ATTENTION: This email originated from a sender outside of MCW. Use caution when clicking on links or opening attachments.
> > ________________________________
> > Thanks for your thoughtful reply.  Alas, I am using a company-provided laptop.  I would much prefer to run Linux as I do on my personal system but that is not in the cards.  I have plenty of access to Linux servers and of course I can run things there but it’s a bit inconvenient.
> >
> > I thought about using WSL (Windows Subsystem for Linux). I have some experience with early versions of that [which leads me to avoid it 😊 ].
> >
> > It is my fate to cope with legacy junk on projects that were late when I joined. Ah well it’s a living.
> >
> > From: Sparapani, Rodney <rsparapa using mcw.edu>
> > Sent: Saturday, December 2, 2023 9:28 AM
> > To: Robert Lerche <rlerche using pacificbiosciences.com>; Tomas Kalibera <tomas.kalibera using gmail.com>; ess-help (ess-help using r-project.org) <ess-help using r-project.org>
> > Subject: Re: [R-win] Difficulty installing R packages under Windows 11 / Cygwin
> >
> >
> > [EXTERNAL MESSAGE] Be mindful when clicking links or attachments
> > Hi Robert:
> >
> > There was a time when we supported ESS under Cygwin.
> > In other words, run elisp code assuming UNIX/Linux rather
> > than Windows even though Windows is the OS.  However,
> > that was a long time ago: at least 10 years since I last tried it.
> > Cygwin has largely fallen out of fashion since you can now so
> > easily install Ubuntu on typical hardware: something that
> > has markedly improved since 2013.  Therefore, I would not
> > expect Cygwin support to work out of the box since there
> > has been no recent testing.  Also, Windows is not very
> > popular with R users since there is no forking support
> > for the parallel package.  So switching to Linux is well
> > worth it.  I used to run Windows inside VirtualBox when
> > I needed to do PC stuff like Office and iTunes
> > (before switching to macOS and never looking back ;o)
> >
> > --
> > Rodney Sparapani, Associate Professor of Biostatistics, He/Him/His
> > Vice President, Wisconsin Chapter of the American Statistical Association
> > Institute for Health and Equity, Division of Biostatistics
> > Medical College of Wisconsin, Milwaukee Campus
> >
> > From: ESS-bugs <mailman-bounces using stat.ethz.ch<mailto:mailman-bounces using stat.ethz.ch>> on behalf of Robert Lerche <rlerche using pacificbiosciences.com<mailto:rlerche using pacificbiosciences.com>>
> > Date: Saturday, December 2, 2023 at 11:04 AM
> > To: Tomas Kalibera <tomas.kalibera using gmail.com<mailto:tomas.kalibera using gmail.com>>, ess-bugs using r-project.org<mailto:ess-bugs using r-project.org> <ess-bugs using r-project.org<mailto:ess-bugs using r-project.org>>
> > Cc: ess-bugs-owner using r-project.org<mailto:ess-bugs-owner using r-project.org> <ess-bugs-owner using r-project.org<mailto:ess-bugs-owner using r-project.org>>, R-windows using R-project.org<mailto:R-windows using R-project.org> <R-windows using R-project.org<mailto:R-windows using R-project.org>>
> > Subject: RE: [R-win] Difficulty installing R packages under Windows 11 / Cygwin
> > ATTENTION: This email originated from a sender outside of MCW. Use caution when clicking on links or opening attachments.
> > ________________________________
> >
> > Let me try raw text:
> >
> > Tomas, my thanks for your prompt and useful response. I followed your instructions and the Windows (MinGW/MSYS2) R and ggplot2 of course work perfectly well launched from a Cygwin bash shell.  Alas, ESS inside Cygwin Emacs 29.1 doesn't quite work, launching an R process gives an error and although R is running with stdin/stdout directed to the Emacs buffer there is no tab completion.
> >
> > [background for the benefit of ess-bugs using r-project.org<mailto:ess-bugs using r-project.org>]
> >
> > I recently received a new Windows 11 laptop from our IT department and I'm trying to recreate my R environment (Cygwin/Emacs/ESS/R/ggplot2). Originally I installed R 4.3.0 as packaged in Cygwin's setup.exe utility (in the Math section). I was unable to add ggplot2. Tomas kindly pointed me to the pre-built Windows binaries and as expected installing it and ggplot2 went smoothly.
> >
> > I perused https://urldefense.com/v3/__https://ess.r-project.org/index.php?Section=home__;!!H8mHWRdzp34!7kh3oo0D5fJMElRU8O3Xz6Hmc-Y0ufB8oSgC1uqX1yvGwlD9fv0aJdrxgnpo0X7E1tfYMI0XU5Y1iNnIKnpbUlLT$<https://urldefense.com/v3/__https:/ess.r-project.org/index.php?Section=home__;!!H8mHWRdzp34!7kh3oo0D5fJMElRU8O3Xz6Hmc-Y0ufB8oSgC1uqX1yvGwlD9fv0aJdrxgnpo0X7E1tfYMI0XU5Y1iNnIKnpbUlLT$>  and pulled the latest ESS via git clone. Make worked but now when I try to launch R inside Emacs [with (require 'ess-r-mode) in my .emacs file] an error message appears:
> >
> > ess-r--init-error-handler: Wrong type argument: listp, "Caused by error: R error during background ESS command base::tryCatch(
> >             base::local({
> >               base::source('/usr/share/emacs/site-lisp/ess/etc/ESSR/R/.load.R', local=TRUE) #define load.ESSR
> >               .ess.ESSR.load('/usr/share/emacs/site-lisp/ess/etc/ESSR/R')
> >             }),
> >             error = function(cnd) {
> >               msg <- paste0('ESSR::ERROR \"', conditionMessage(cnd), '\"')
> >               writeLines(msg)
> >             }
> >           )
> > Error: cannot open the connection"
> >
> > Following this the buffer is live but tab completion fails.
> >
> > I attach the ess build log:
> >
> > G6WM1J3-89CBD7 ~ $ git clone https://urldefense.com/v3/__https://github.com/emacs-ess/ESS.git__;!!H8mHWRdzp34!7kh3oo0D5fJMElRU8O3Xz6Hmc-Y0ufB8oSgC1uqX1yvGwlD9fv0aJdrxgnpo0X7E1tfYMI0XU5Y1iNnIKr2dFRa2$<https://urldefense.com/v3/__https:/github.com/emacs-ess/ESS.git__;!!H8mHWRdzp34!7kh3oo0D5fJMElRU8O3Xz6Hmc-Y0ufB8oSgC1uqX1yvGwlD9fv0aJdrxgnpo0X7E1tfYMI0XU5Y1iNnIKr2dFRa2$>  ess-latest
> > Cloning into 'ess-latest'...
> > remote: Enumerating objects: 44632, done.
> > remote: Counting objects: 100% (1252/1252), done.
> > remote: Compressing objects: 100% (424/424), done.
> > remote: Total 44632 (delta 904), reused 1152 (delta 827), pack-reused 43380
> > Receiving objects: 100% (44632/44632), 27.28 MiB | 1.76 MiB/s, done.
> > Resolving deltas: 100% (33688/33688), done.
> > G6WM1J3-89CBD7 ~ $ cd ess-latest/
> > G6WM1J3-89CBD7 ~/ess-latest $ make
> > ********************* VERSIONS **************************
> > GNU Emacs 29.1
> > ESS 18.10.3snapshot
> > ESSR 1.8
> > *********************************************************
> > make -C lisp all
> > make[1]: Entering directory '/home/rlerche/ess-latest/lisp'
> > which: no wget in (/cygdrive/c/Program Files/R/R-4.3.2/bin:/usr/local/bin:/usr/bin:/cygdrive/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program Files/PuTTY:/cygdrive/c/Program Files (x86)/GnuPG/bin:/cygdrive/c/Users/rlerche/AppData/Local/Microsoft/WindowsApps:/usr/lib/lapack)
> > which: no wget in (/cygdrive/c/Program Files/R/R-4.3.2/bin:/usr/local/bin:/usr/bin:/cygdrive/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program Files/PuTTY:/cygdrive/c/Program Files (x86)/GnuPG/bin:/cygdrive/c/Users/rlerche/AppData/Local/Microsoft/WindowsApps:/usr/lib/lapack)
> > test -f ../etc/.IS.RELEASE || /cygdrive/c/WINDOWS/system32/curl https://urldefense.com/v3/__https://raw.githubusercontent.com/JuliaEditorSupport/julia-emacs/master/julia-mode.el__;!!H8mHWRdzp34!7kh3oo0D5fJMElRU8O3Xz6Hmc-Y0ufB8oSgC1uqX1yvGwlD9fv0aJdrxgnpo0X7E1tfYMI0XU5Y1iNnIKo9c7zFD$<https://urldefense.com/v3/__https:/raw.githubusercontent.com/JuliaEditorSupport/julia-emacs/master/julia-mode.el__;!!H8mHWRdzp34!7kh3oo0D5fJMElRU8O3Xz6Hmc-Y0ufB8oSgC1uqX1yvGwlD9fv0aJdrxgnpo0X7E1tfYMI0XU5Y1iNnIKo9c7zFD$>  > julia-mode.el
> >  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
> >                                 Dload  Upload   Total   Spent    Left  Speed
> > 100 40906  100 40906    0     0   144k      0 --:--:-- --:--:-- --:--:--  146k
> > test -f ../etc/.IS.RELEASE || /cygdrive/c/WINDOWS/system32/curl https://urldefense.com/v3/__https://raw.githubusercontent.com/JuliaEditorSupport/julia-emacs/master/julia-mode-latexsubs.el__;!!H8mHWRdzp34!7kh3oo0D5fJMElRU8O3Xz6Hmc-Y0ufB8oSgC1uqX1yvGwlD9fv0aJdrxgnpo0X7E1tfYMI0XU5Y1iNnIKmcNaJ6x$<https://urldefense.com/v3/__https:/raw.githubusercontent.com/JuliaEditorSupport/julia-emacs/master/julia-mode-latexsubs.el__;!!H8mHWRdzp34!7kh3oo0D5fJMElRU8O3Xz6Hmc-Y0ufB8oSgC1uqX1yvGwlD9fv0aJdrxgnpo0X7E1tfYMI0XU5Y1iNnIKmcNaJ6x$>  > julia-mode-latexsubs.el
> >  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
> >                                 Dload  Upload   Total   Spent    Left  Speed
> > 100  442k  100  442k    0     0  1292k      0 --:--:-- --:--:-- --:--:-- 1296k
> > Computing dependencies
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-custom.el
> >
> > In toplevel form:
> > ess-custom.el:324:2: Warning: custom-declare-variable `ess-startup-directory' docstring has wrong usage of unescaped single quotes (use \= or different quoting)
> > ess-custom.el:1401:2: Warning: custom-declare-variable `ess-post-run-hook' docstring has wrong usage of unescaped single quotes (use \= or different quoting)
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-utils.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-bugs-l.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-tracebug.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-inf.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-mode.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-bugs-d.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-help.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-s-lang.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-rd.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-r-syntax.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-roxy.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-r-completion.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-r-package.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-trns.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-r-xref.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-r-mode.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-gretl.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-jags-d.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-julia.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-r-flymake.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-rdired.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-sas-a.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-sas-l.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-sas-d.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-sp6-d.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile essd-els.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-toolbar.el
> > emacs -batch -Q  --directory . --directory ./obsolete -f batch-byte-compile ess-site.el
> > emacs -batch -Q --directory . --directory ./obsolete -f batch-byte-compile julia-mode-latexsubs.el
> > emacs -batch -Q --directory . --directory ./obsolete -f batch-byte-compile julia-mode.el
> >
> > Generating ess-autoloads.el
> > emacs -batch -Q --eval "(progn\
> > (setq make-backup-files nil)\
> > (setq generated-autoload-file (expand-file-name \"ess-autoloads.el\"))\
> > (setq find-file-visit-truename t)\
> > (update-directory-autoloads default-directory))"
> > Package autoload is deprecated
> >  INFO     Scraping files for ess-autoloads.el...
> >  INFO     Scraping files for ess-autoloads.el...done
> > make[1]: Leaving directory '/home/rlerche/ess-latest/lisp'
> > make -C doc all
> > make[1]: Entering directory '/home/rlerche/ess-latest/doc'
> > making Info documentation...
> > makeinfo ess.texi
> > mv -f ess.info info/
> > makeinfo --no-validate --plaintext --no-split -o - readme.texi \
> > | perl -pe 'last if /^Concept Index/;' > ../README
> > makeinfo --no-validate --plaintext --no-split -o - announc.texi \
> > | perl -pe 'last if /^Concept Index/;' > ../ANNOUNCE
> > makeinfo --no-validate --plaintext --no-split -o - news.texi > ../NEWS
> > makeinfo --no-validate --plaintext --no-split -o - onews.texi > ../ONEWS
> > make[1]: Leaving directory '/home/rlerche/ess-latest/doc'
> > make -C etc all
> > make[1]: Entering directory '/home/rlerche/ess-latest/etc'
> > make[1]: Nothing to be done for 'all'.
> > make[1]: Leaving directory '/home/rlerche/ess-latest/etc'
> > cd lisp; make ess-autoloads.el
> > make[1]: Entering directory '/home/rlerche/ess-latest/lisp'
> > make[1]: 'ess-autoloads.el' is up to date.
> > make[1]: Leaving directory '/home/rlerche/ess-latest/lisp'
> > G6WM1J3-89CBD7 ~/ess-latest $ make install
> > ********************* VERSIONS **************************
> > GNU Emacs 29.1
> > ESS 18.10.3snapshot
> > ESSR 1.8
> > *********************************************************
> > make -C lisp all
> > make[1]: Entering directory '/home/rlerche/ess-latest/lisp'
> > make[1]: Nothing to be done for 'all'.
> > make[1]: Leaving directory '/home/rlerche/ess-latest/lisp'
> > make -C doc all
> > make[1]: Entering directory '/home/rlerche/ess-latest/doc'
> > make[1]: Nothing to be done for 'all'.
> > make[1]: Leaving directory '/home/rlerche/ess-latest/doc'
> > make -C etc all
> > make[1]: Entering directory '/home/rlerche/ess-latest/etc'
> > make[1]: Nothing to be done for 'all'.
> > make[1]: Leaving directory '/home/rlerche/ess-latest/etc'
> > cd lisp; make ess-autoloads.el
> > make[1]: Entering directory '/home/rlerche/ess-latest/lisp'
> > make[1]: 'ess-autoloads.el' is up to date.
> > make[1]: Leaving directory '/home/rlerche/ess-latest/lisp'
> > mkdir -p /usr/share/emacs/site-lisp/ess
> > cp -p -R ./* /usr/share/emacs/site-lisp/ess/
> > G6WM1J3-89CBD7 ~/ess-latest $ exit
> >
> > -----Original Message-----
> > From: ESS-bugs <ess-bugs-bounces using r-project.org<mailto:ess-bugs-bounces using r-project.org>> On Behalf Of ess-bugs-owner using r-project.org<mailto:ess-bugs-owner using r-project.org>
> > Sent: Saturday, December 2, 2023 8:13 AM
> > To: Robert Lerche <rlerche using pacificbiosciences.com<mailto:rlerche using pacificbiosciences.com>>
> > Subject: RE: [R-win] Difficulty installing R packages under Windows 11 / Cygwin
> >
> > [EXTERNAL MESSAGE] Be mindful when clicking links or attachments
> >
> > After content filtering, the message was empty
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > ESS-help using r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/ess-help
>
>
> ______________________________________________
> ESS-help using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/ess-help



-- 
Martin <Maechler using stat.math.ethz.ch>   http://stat.ethz.ch/~maechler
Seminar für Statistik, ETH Zürich     HG G 16       Rämistrasse 101
CH-8092 Zurich, SWITZERLAND           ☎ +41 44 632 3408        <><



More information about the ESS-help mailing list