Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't install xml2 in Ubuntu 20.04 / 22.04 / WSL2 / Windows 10 #361

Closed
mickmcq opened this issue Apr 23, 2022 · 2 comments
Closed

Can't install xml2 in Ubuntu 20.04 / 22.04 / WSL2 / Windows 10 #361

mickmcq opened this issue Apr 23, 2022 · 2 comments

Comments

@mickmcq
Copy link

mickmcq commented Apr 23, 2022

I have started with a clean install of both Ubuntu 20.04 and Ubuntu 22.04 on WSL2 and have run the following:

apt install --no-install-recommends software-properties-common dirmngr
sudo apt install --no-install-recommends software-properties-common dirmngr
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
sudo apt install --no-install-recommends r-base
sudo apt install gcc make g++ pkg-config libcurl4 libcurl4-openssl-dev libssl-dev libxml2-dev libgit2-dev
sudo apt install libxml2-utils

When I try to install xml2 in R, here is what I get:

> install.packages("xml2")
Installing package into/home/mcq/R/x86_64-pc-linux-gnu-library/4.1’
(aslibis unspecified)
trying URL 'https://cran.microsoft.com/src/contrib/xml2_1.3.3.tar.gz'
Content type 'application/octet-stream' length 283965 bytes (277 KB)
==================================================
downloaded 277 KB

* installing *source* packagexml2...
** packagexml2successfully unpacked and MD5 sums checked
** using staged installation
Found pkg-config cflags and libs!
Using PKG_CFLAGS=-I/usr/include/libxml2
Using PKG_LIBS=-lxml2
** libs
g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I/usr/include/libxml2 -DUCHAR_TYPE=wchar_t -DU_SHOW_CPLUSPLUS_API=0    -fvisibility=hidden -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-lENDSu/r-base-4.1.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c connection.cpp -o connection.o
gcc -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I/usr/include/libxml2 -DUCHAR_TYPE=wchar_t -DU_SHOW_CPLUSPLUS_API=0     -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-lENDSu/r-base-4.1.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c init.c -o init.o
g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I/usr/include/libxml2 -DUCHAR_TYPE=wchar_t -DU_SHOW_CPLUSPLUS_API=0    -fvisibility=hidden -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-lENDSu/r-base-4.1.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c xml2_doc.cpp -o xml2_doc.o
g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I/usr/include/libxml2 -DUCHAR_TYPE=wchar_t -DU_SHOW_CPLUSPLUS_API=0    -fvisibility=hidden -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-lENDSu/r-base-4.1.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c xml2_init.cpp -o xml2_init.o
g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I/usr/include/libxml2 -DUCHAR_TYPE=wchar_t -DU_SHOW_CPLUSPLUS_API=0    -fvisibility=hidden -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-lENDSu/r-base-4.1.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c xml2_namespace.cpp -o xml2_namespace.o
g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I/usr/include/libxml2 -DUCHAR_TYPE=wchar_t -DU_SHOW_CPLUSPLUS_API=0    -fvisibility=hidden -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-lENDSu/r-base-4.1.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c xml2_node.cpp -o xml2_node.o
g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I/usr/include/libxml2 -DUCHAR_TYPE=wchar_t -DU_SHOW_CPLUSPLUS_API=0    -fvisibility=hidden -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-lENDSu/r-base-4.1.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c xml2_output.cpp -o xml2_output.o
g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I/usr/include/libxml2 -DUCHAR_TYPE=wchar_t -DU_SHOW_CPLUSPLUS_API=0    -fvisibility=hidden -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-lENDSu/r-base-4.1.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c xml2_schema.cpp -o xml2_schema.o
g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I/usr/include/libxml2 -DUCHAR_TYPE=wchar_t -DU_SHOW_CPLUSPLUS_API=0    -fvisibility=hidden -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-lENDSu/r-base-4.1.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c xml2_url.cpp -o xml2_url.o
g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I/usr/include/libxml2 -DUCHAR_TYPE=wchar_t -DU_SHOW_CPLUSPLUS_API=0    -fvisibility=hidden -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-lENDSu/r-base-4.1.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c xml2_xpath.cpp -o xml2_xpath.o
g++ -std=gnu++14 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o xml2.so connection.o init.o xml2_doc.o xml2_init.o xml2_namespace.o xml2_node.o xml2_output.o xml2_schema.o xml2_url.o xml2_xpath.o -lxml2 -L/usr/lib/R/lib -lR
installing to /home/mcq/R/x86_64-pc-linux-gnu-library/4.1/00LOCK-xml2/00new/xml2/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
mv: cannot move '/home/mcq/R/x86_64-pc-linux-gnu-library/4.1/00LOCK-xml2/00new/xml2' to '/home/mcq/R/x86_64-pc-linux-gnu-library/4.1/xml2': Permission denied
ERROR:   moving to final location failed

The downloaded source packages are in/tmp/RtmpyjYDtL/downloaded_packagesWarning message:
In install.packages("xml2") :
  installation of packagexml2had non-zero exit status

I have also tried using sudo, which installs in /usr/lib/R/library and gives exactly the same error (can not move it to the appropriate destination due to file permissions) and I've also tried specifying the library as usr/lib/R/library which gives the same error again. As I mentioned, I've tried this on both 20.04 and the brand new 22.04. I am really at my wit's end! I have been able to install 117 other R packages as follows:

DBI
R6
RColorBrewer
askpass
assertthat
backports
base64enc
bit
bit64
blob
brew
brio
broom
bslib
cachem
callr
cellranger
cli
clipr
colorspace
commonmark
cpp11
crayon
credentials
curl
data.table
dbplyr
desc
diffobj
digest
dplyr
dtplyr
ellipsis
evaluate
fansi
farver
fastmap
forcats
fs
gargle
generics
gert
ggplot2
gh
gitcreds
glue
googledrive
googlesheets4
gtable
haven
highr
hms
htmltools
httr
ids
ini
isoband
jquerylib
jsonlite
knitr
labeling
lifecycle
lubridate
magrittr
memoise
mime
modelr
munsell
openssl
pillar
pkgbuild
pkgconfig
pkgload
praise
prettyunits
processx
progress
ps
purrr
rappdirs
rcmdcheck
readr
readxl
rematch
rematch2
remotes
reprex
rlang
rmarkdown
rprojroot
rstudioapi
sass
scales
selectr
sessioninfo
stringi
stringr
sys
testthat
tibble
tidyr
tidyselect
tinytex
tzdb
usethis
utf8
uuid
vctrs
viridisLite
vroom
waldo
whisker
withr
xfun
xopen
yaml
zip

but a lot of things depend on xml2. For example, I can't install devtools without it.

@mickmcq
Copy link
Author

mickmcq commented Apr 25, 2022

I was able to solve this issue by saying

install.packages("xml2", dependencies=TRUE, INSTALL_opts = c('--no-lock'))

following advice on stackoverflow

@lixy0323
Copy link

@mickmcq
install.packages("xml2", dependencies=TRUE, INSTALL_opts = c('--no-lock'))
This code works for me to install xml2 on WSL (Ubuntu 22.04), thanks a lot !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants