Mazin Abdelghany
2021-Apr-19 17:24 UTC
[R-sig-Debian] Unable to install some R packages in Ubuntu 20.04--internal compiler error: Segmentation fault
Hello all, I recently installed R onto my Ubuntu 20.04 install using the instructions here: https://cran.r-project.org/bin/linux/ubuntu/. R works as expected. However, while some packages have installed without issue (e.g., R.matlab), there are many packages that have not been able to install. Each failed install throws a very similar error message. As an example, install.packages("utf8") throws: ``` during GIMPLE pass: ccp as_utf8.c: In function ?rutf8_as_utf8?: as_utf8.c:128:1: internal compiler error: Segmentation fault 128 | } | ^ Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions. make: *** [/usr/lib/R/etc/Makeconf:172: as_utf8.o] Error 1 ERROR: compilation failed for package ?utf8? ``` As another example, install.packages("fansi") throws: ``` during GIMPLE pass: ccp nchar.c: In function ?FANSI_nzchar?: nchar.c:85:1: internal compiler error: Segmentation fault 85 | } | ^ Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions. make: *** [/usr/lib/R/etc/Makeconf:172: nchar.o] Error 1 ERROR: compilation failed for package ?fansi? ``` I have tried reinstalling gcc-9, which has not helped. I had found that the PATH in Sys.getenv("PATH") was pointing to a miniconda3 install on my system, so updated that to /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/rstudio/bin/postback, which also has not helped. I posted a question to: https://answers.launchpad.net/ubuntu/+question/696623 and it was suggested that I use gcc-10 instead of gcc-9. I edited /usr/lib/R/etc/Makeconf and replaced CC=-std=gnu99 with CC=gcc-10. This resolved the issue and the packages that were throwing these errors were able to be installed. After posting the question to Stackoverflow, it was made clear that this was not a solution rather an obtuse workaround. It was recommended that I send the question here for help. Output of gcc -v: ``` Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none:hsa OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ``` Output of sessionInfo() in R: ``` R version 4.0.5 (2021-03-31) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Ubuntu 20.04.2 LTS Matrix products: default BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/liblapack.so.3 locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.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.0.5 tools_4.0.5 ``` Thanks all for your help and advice. Best, Mazin [[alternative HTML version deleted]]
Dirk Eddelbuettel
2021-Apr-19 18:28 UTC
[R-sig-Debian] Unable to install some R packages in Ubuntu 20.04--internal compiler error: Segmentation fault
Hi Mazin, On 19 April 2021 at 10:24, Mazin Abdelghany wrote: | I recently installed R onto my Ubuntu 20.04 install using the instructions | here: https://cran.r-project.org/bin/linux/ubuntu/. R works as expected. | | However, while some packages have installed without issue (e.g., R.matlab), | there are many packages that have not been able to install. Each failed | install throws a very similar error message. As an example, | install.packages("utf8") throws: | ``` | during GIMPLE pass: ccp | as_utf8.c: In function ?rutf8_as_utf8?: | as_utf8.c:128:1: internal compiler error: Segmentation fault | 128 | } | | ^ | Please submit a full bug report, | with preprocessed source if appropriate. | See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions. | make: *** [/usr/lib/R/etc/Makeconf:172: as_utf8.o] Error 1 | ERROR: compilation failed for package ?utf8? | ``` Weird. I have been on Ubuntu for most of its existence, and tend to compile (on my main development machine) all packages directly from CRAN. These packages _definitely_ install normally, so would need some extra details. | As another example, install.packages("fansi") throws: | ``` | during GIMPLE pass: ccp | nchar.c: In function ?FANSI_nzchar?: | nchar.c:85:1: internal compiler error: Segmentation fault | 85 | } | | ^ | Please submit a full bug report, | with preprocessed source if appropriate. | See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions. | make: *** [/usr/lib/R/etc/Makeconf:172: nchar.o] Error 1 | ERROR: compilation failed for package ?fansi? | ``` | | I have tried reinstalling gcc-9, which has not helped. I had found that the | PATH in Sys.getenv("PATH") was pointing to a miniconda3 install on my Ahhhhhhhhhhhhh. That is extra detail. And ... not a good idea in general. Mixing conda and normal installations is NOT a good idea. You also did not mention above that you switched to conda. | system, so updated that to | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/rstudio/bin/postback, | which also has not helped. | | I posted a question to: | https://answers.launchpad.net/ubuntu/+question/696623 and it was suggested | that I use gcc-10 instead of gcc-9. I edited /usr/lib/R/etc/Makeconf and | replaced CC=-std=gnu99 with CC=gcc-10. This resolved the issue and the | packages that were throwing these errors were able to be installed. | | After posting the question to Stackoverflow, it was made clear that this | was not a solution rather an obtuse workaround. It was recommended that I | send the question here for help. As I menionted when you asked on StackOverflow, that was not a good suggestion. The compiler has nothing to do with this but you generally may run into issue mixing conda and normal use. My recommendation and preference would be to stay away from conda -- as I never used (or needed) it. Maybe others can help you with it. If you read the README for Ubuntu and CRAN, check out the hint about the PPA. You can even couple it with the (very clever) 'bspm' package and then _normal R installations will give you binaries_. Demo in the r-bspm:20.04 container follows: edd at rob:~$ docker run --rm -ti rocker/r-bspm:20.04 bash root at 6f02540917d0:/# apt update -qq # refresh indices 71 packages can be upgraded. Run 'apt list --upgradable' to see them. root at 6f02540917d0:/# Rscript -e 'install.packages(c("utf8", "fansi"))' Loading required package: utils Tracing function "install.packages" in package "utils" Install system packages as root... Reading package lists... Done Building dependency tree Reading state information... Done Hit http://archive.ubuntu.com/ubuntu focal InRelease Hit http://security.ubuntu.com/ubuntu focal-security InRelease Hit http://ppa.launchpad.net/c2d4u.team/c2d4u4.0+/ubuntu focal InRelease Hit http://archive.ubuntu.com/ubuntu focal-updates InRelease Hit http://archive.ubuntu.com/ubuntu focal-backports InRelease Hit http://ppa.launchpad.net/edd/r-4.0/ubuntu focal InRelease Hit http://ppa.launchpad.net/marutter/rrutter4.0/ubuntu focal InRelease Fetched 0 B in 0s (0 B/s) Reading package lists... Done Building dependency tree Reading state information... Done Get:1 http://ppa.launchpad.net/c2d4u.team/c2d4u4.0+/ubuntu focal/main amd64 r-cran-fansi amd64 0.4.2-1cran1.2004.0 [176 kB] Get:2 http://ppa.launchpad.net/c2d4u.team/c2d4u4.0+/ubuntu focal/main amd64 r-cran-utf8 amd64 1.2.1-1cran1.2004.0 [122 kB] Fetched 298 kB in 0s (0 B/s) Selecting previously unselected package r-cran-fansi. (Reading database ... 20588 files and directories currently installed.) Preparing to unpack .../r-cran-fansi_0.4.2-1cran1.2004.0_amd64.deb ... Unpacking r-cran-fansi (0.4.2-1cran1.2004.0) ... Selecting previously unselected package r-cran-utf8. Preparing to unpack .../r-cran-utf8_1.2.1-1cran1.2004.0_amd64.deb ... Unpacking r-cran-utf8 (1.2.1-1cran1.2004.0) ... Setting up r-cran-fansi (0.4.2-1cran1.2004.0) ... Setting up r-cran-utf8 (1.2.1-1cran1.2004.0) ... root at 6f02540917d0:/# You could do the same via 'sudo apt install r-cran-utf8 r-cran-fansi' without 'bspm' if you just set up the PPA. Good luck, Dirk | Output of gcc -v: | ``` | Using built-in specs. | COLLECT_GCC=gcc | COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper | OFFLOAD_TARGET_NAMES=nvptx-none:hsa | OFFLOAD_TARGET_DEFAULT=1 | Target: x86_64-linux-gnu | Configured with: ../src/configure -v --with-pkgversion='Ubuntu | 9.3.0-17ubuntu1~20.04' | --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs | --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 | --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 | --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id | --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix | --libdir=/usr/lib --enable-nls --enable-clocale=gnu | --enable-libstdcxx-debug --enable-libstdcxx-time=yes | --with-default-libstdcxx-abi=new --enable-gnu-unique-object | --disable-vtable-verify --enable-plugin --enable-default-pie | --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto | --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 | --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic | --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa | --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu | --host=x86_64-linux-gnu --target=x86_64-linux-gnu | Thread model: posix | gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) | ``` | | Output of sessionInfo() in R: | ``` | R version 4.0.5 (2021-03-31) | Platform: x86_64-pc-linux-gnu (64-bit) | Running under: Ubuntu 20.04.2 LTS | | Matrix products: default | BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 | LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/liblapack.so.3 | | locale: | [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C | LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 | [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 | LC_PAPER=en_US.UTF-8 LC_NAME=C | [9] LC_ADDRESS=C LC_TELEPHONE=C | LC_MEASUREMENT=en_US.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.0.5 tools_4.0.5 | ``` | | Thanks all for your help and advice. | Best, | Mazin | | [[alternative HTML version deleted]] | | _______________________________________________ | R-SIG-Debian mailing list | R-SIG-Debian at r-project.org | https://stat.ethz.ch/mailman/listinfo/r-sig-debian -- https://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org