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

Sparapani, Rodney r@p@r@p@ @end|ng |rom mcw@edu
Sat Dec 2 18:28:25 CET 2023


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> on behalf of Robert Lerche <rlerche using pacificbiosciences.com>
Date: Saturday, December 2, 2023 at 11:04 AM
To: Tomas Kalibera <tomas.kalibera using gmail.com>, ess-bugs using r-project.org <ess-bugs using r-project.org>
Cc: ess-bugs-owner using r-project.org <ess-bugs-owner using r-project.org>, R-windows using R-project.org <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]

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> On Behalf Of ess-bugs-owner using r-project.org
Sent: Saturday, December 2, 2023 8:13 AM
To: Robert Lerche <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]]



More information about the ESS-help mailing list