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

Richard M. Heiberger rmh @end|ng |rom temp|e@edu
Sat Dec 2 21:41:47 CET 2023


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




More information about the ESS-help mailing list