I have caught a segfault while trying to do an update.packages. A bit of googling has not helped much except to suggest I have a bug in "some" package. It appears that rnaturalearth is going to be a dependency in some spatial programs I have installed.
I did try removing rnaturalearth, rebooting the computer and reinstalling with no luck.
Traceback is giving nothing.
SessionInfo is below but I am on Ubuntu 22.04, with R version 4.2.2 Patched and RStudio 2022.07.2+576 "Spotted Wakerobin"
traceback(install.packages("rnaturalearth"))
Installing package into ‘/home/john/R/x86_64-pc-linux-gnu-library/4.2’
(as ‘lib’ is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/rnaturalearth_0.3.2.tar.gz'
Content type 'application/x-gzip' length 747688 bytes (730 KB)
==================================================
downloaded 730 KB
* installing *source* package ‘rnaturalearth’ ...
** package ‘rnaturalearth’ successfully unpacked and MD5 sums checked
** using staged installation
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
*** caught segfault ***
address 0x559c7d57e7ff, cause 'memory not mapped'
An irrecoverable exception occurred. R is aborting now ...
Segmentation fault (core dumped)
ERROR: lazy loading failed for package ‘rnaturalearth’
* removing ‘/home/john/R/x86_64-pc-linux-gnu-library/4.2/rnaturalearth’
Warning in install.packages :
installation of package ‘rnaturalearth’ had non-zero exit status
The downloaded source packages are in
‘/tmp/RtmpSqY2Iw/downloaded_packages’
3: .is.positive.intlike(x)
2: .traceback(x, max.lines = max.lines)
1: traceback(install("rnaturalearth"))
And
sessionInfo()
R version 4.2.2 Patched (2022-11-10 r83330)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.1 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
locale:
[1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C LC_TIME=en_CA.UTF-8 LC_COLLATE=en_CA.UTF-8
[5] LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_CA.UTF-8 LC_PAPER=en_CA.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_4.2.2 tools_4.2.2 remotes_2.4.2
Just installed GDAL 3.6.2, released 2023/01/02 and rebooted.
Same problem
installing *source* package ‘rnaturalearth’ ...
** package ‘rnaturalearth’ successfully unpacked and MD5 sums checked
** using staged installation
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
*** caught segfault ***
address 0x564d830b4bd0, cause 'memory not mapped'
An irrecoverable exception occurred. R is aborting now ...
Segmentation fault (core dumped)
ERROR: lazy loading failed for package ‘rnaturalearth’
* removing ‘/home/john/R/x86_64-pc-linux-gnu-library/4.2/rnaturalearth’
Warning in install.packages :
installation of package ‘rnaturalearth’ had non-zero exit status
The downloaded source packages are in
‘/tmp/Rtmpa0NWtv/downloaded_packages’
No traceback available
I am getting the same error message trying to install from R as from within RStudio.
I think I am misread something here. You are suggesting installing the R package "rnaturalearth* from Public Posit Package Manager ? I read that, originally as as installing gcc from there.
Given I seem to have a wonky c++ compiler, would I be better off re-installing it?
Yes, since PPM offers binaries for Ubuntu you won't need to compile it
gcc is not an R package, it's a system library and PPM is not a deb source.
You have a modern enough version of the compiler, I think the problem could be with the configured build options either on your side (env vars) or in the package code itself.
So far I have not melted down thoe computer but that is as far as I have gotten. I suspect that I am completely misunderstanding one or more of the instructions or you are correct that I have something messed up in my env vars.
I have gone to the Public Posit Package Manager which suggests that I want to use
The package repository is likely being overwrite by a startup file (Rprofile.site or .Rprofile) because I just checked and there is a binary of rnaturalearth for Ubuntu 22.04 LTS
So far I have found two but I cannot find a .Rprofile file. I thought it should be at root level but I do not see it. /etc/R
## Emacs please make this -*- R -*-
## empty Rprofile.site for R on Debian
##
## Copyright (C) 2008 - 2018 Dirk Eddelbuettel and GPL'ed
##
## see help(Startup) for documentation on ~/.Rprofile and Rprofile.site
# ## Example of .Rprofile
# options(width=65, digits=5)
# options(show.signif.stars=FALSE)
# setHook(packageEvent("grDevices", "onLoad"),
# function(...) grDevices::ps.options(horizontal=FALSE))
# set.seed(1234)
# .First <- function() cat("\n Welcome to R!\n\n")
# .Last <- function() cat("\n Goodbye!\n\n")
# ## Example of Rprofile.site
# local({
# # add MASS to the default packages, set a CRAN mirror
# old <- getOption("defaultPackages"); r <- getOption("repos")
# r["CRAN"] <- "http://my.local.cran"
# options(defaultPackages = c(old, "MASS"), repos = r)
#})
## We set the cloud mirror, which is 'network-close' to everybody, as default
local({
r <- getOption("repos")
r["CRAN"] <- "https://cloud.r-project.org"
options(repos = r)
})
/usr/lib/R/etc
## Emacs please make this -*- R -*-
## empty Rprofile.site for R on Debian
##
## Copyright (C) 2008 - 2018 Dirk Eddelbuettel and GPL'ed
##
## see help(Startup) for documentation on ~/.Rprofile and Rprofile.site
# ## Example of .Rprofile
# options(width=65, digits=5)
# options(show.signif.stars=FALSE)
# setHook(packageEvent("grDevices", "onLoad"),
# function(...) grDevices::ps.options(horizontal=FALSE))
# set.seed(1234)
# .First <- function() cat("\n Welcome to R!\n\n")
# .Last <- function() cat("\n Goodbye!\n\n")
# ## Example of Rprofile.site
# local({
# # add MASS to the default packages, set a CRAN mirror
# old <- getOption("defaultPackages"); r <- getOption("repos")
# r["CRAN"] <- "http://my.local.cran"
# options(defaultPackages = c(old, "MASS"), repos = r)
#})
## We set the cloud mirror, which is 'network-close' to everybody, as default
local({
r <- getOption("repos")
r["CRAN"] <- "https://cloud.r-project.org"
options(repos = r)
})
This line sets your package repository and it overwrites your RStudio settings.
It would be safe to delete any .Rprofile file since those are usually user authored. But the Rprofile.site file comes with the R installation so that one you should just edit if needed, it should be locates at R_HOME/etc being R_HOME the installation directory.