在Ubuntu上安装RMongo失败,出现“分段错误”

3

我已经花费了几个小时的时间尝试安装RMongo包,但是却得到以下输出:

> install.packages("RMongo")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
trying URL 'https://repo.bppt.go.id/cran/src/contrib/RMongo_0.0.25.tar.gz'
Content type 'application/x-gzip' length 4169519 bytes (4.0 MB)
==================================================
downloaded 4.0 MB

* installing *source* package ‘RMongo’ ...
** package ‘RMongo’ successfully unpacked and MD5 sums checked
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Segmentation fault (core dumped)
ERROR: loading failed
* removing ‘/usr/local/lib/R/site-library/RMongo’

The downloaded source packages are in
    ‘/tmp/RtmpHZoomn/downloaded_packages’
Warning message:
In install.packages("RMongo") :
  installation of package ‘RMongo’ had non-zero exit status

我也遇到了安装xlsx时出现的同样错误。

我不知道过去几个发行版发生了什么变化,因为我尝试过在Ubuntu 16.04.2和Ubuntu 17.04上进行安装,但结果相同。

这是Ubuntu 16.04.2发行版中R环境的说明:

> sessionInfo()
R version 3.4.0 (2017-04-21)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.2 LTS
Matrix products: default
BLAS: /usr/lib/libblas/libblas.so.3.6.0
LAPACK: /usr/lib/lapack/liblapack.so.3.6.0
locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=es_ES.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=es_ES.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=es_ES.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=es_ES.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_3.4.0 tools_3.4.0    tcltk_3.4.0

有什么想法会发生什么?
3个回答

3

linux-image-3.13.0-121-generic和linux-image-4.4.0-81-generic包含对Stack Clash漏洞的修复。

请注意内核更新,这些更新会修复此漏洞。但是,当前的补丁会破坏许多Java(Sun/Oracle和OpenJDK)应用程序。请参见Bug #1699772: linux-image-4.4.0-81-generic、linux-image-3.13.0-121-generic回归:许多用户空间应用程序崩溃。解决方法是使用旧内核(在Trusty中为linux-image-3.13.0-119-generic)暂时重新启动系统。

Ubuntu内核开发人员将在几天内准备新的补丁

更新:最新更新(至少image-4.4.0-83-generic、linux-image-4.8.0-58-generic、linux-image-4.10.0-26-generic)修复了此漏洞以及与用户空间程序相关的问题。


1
在最近的内核更新中,从4.4.0-81到4.4.0-83,该问题已经得到解决。 - asuka

1
这并不能解决我在使用RMongo时遇到的问题,但对我有所帮助,希望它也能对你有用。
我继续进行了一些测试。由于RMongo突然停止工作,而我之前安装过一个类似的环境可以正常工作,因此我开始比较两个环境。
我检查了系统更新记录,发现在出现故障的系统中进行了一些软件更新(您可以在下面查看)。
The following NEW packages will be installed
  libmircommon7 libmircore1 linux-headers-4.4.0-81 linux-headers-4.4.0-81-generic linux-image-4.4.0-81-generic
  linux-image-extra-4.4.0-81-generic
The following packages will be upgraded:
  click firefox firefox-locale-en flashplugin-installer gir1.2-click-0.4 google-chrome-stable grub-common grub-pc
  grub-pc-bin grub2-common libc-bin libc-dev-bin libc6 libc6:i386 libc6-dbg libc6-dev libclick-0.4-0 libepoxy0
  libgnutls-openssl27 libgnutls30 libmirclient9 libmircookie2 libmirprotobuf3 libmwaw-0.3-3 libnss3 libnss3-nssdb
  libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5printsupport5 libqt5sql5
  libqt5sql5-sqlite libqt5test5 libqt5widgets5 libqt5xml5 libssl-dev libssl-doc libssl1.0.0 libvlc5 libvlccore8
  libzzip-0-13 linux-firmware linux-headers-generic linux-image-generic linux-libc-dev locales multiarch-support
  openssl python3-click-package vlc vlc-data vlc-nox vlc-plugin-notify vlc-plugin-samba

所以,我逐一检查了这些包,并发现问题的根源是新内核4.4.0-81

为了确保这是问题的根本原因,我使用了我笔记本电脑中之前的内核版本4.4.0-79来启动Ubuntu发行版:

这是安装的结果:

> install.packages("RMongo")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
trying URL 'https://pbil.univ-lyon1.fr/CRAN/src/contrib/RMongo_0.0.25.tar.gz'
Content type 'application/x-gzip' length 4169519 bytes (4.0 MB)
==================================================
downloaded 4.0 MB

* installing *source* package ‘RMongo’ ...
** package ‘RMongo’ successfully unpacked and MD5 sums checked
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (RMongo)

The downloaded source packages are in
    ‘/tmp/RtmpJScKfz/downloaded_packages’
> install.packages("xlsx")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
trying URL 'https://pbil.univ-lyon1.fr/CRAN/src/contrib/xlsx_0.5.7.tar.gz'
Content type 'application/x-gzip' length 312839 bytes (305 KB)
==================================================
downloaded 305 KB

* installing *source* package ‘xlsx’ ...
** package ‘xlsx’ successfully unpacked and MD5 sums checked
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (xlsx)

The downloaded source packages are in
    ‘/tmp/RtmpJScKfz/downloaded_packages’

现在,xlsxRMongo这两个包都已成功安装并运行。

我还检查了xlsxRMongo之间的关系,恐怕问题出在它们共同依赖的rJava上。事实上,为了确认这一点,我使用了其他依赖于rJava的软件包(RWeka)进行了测试,并且遇到了相同的问题,在更改内核版本后解决了该问题。

==更新==

在最新的内核更新(从4.4.0-81到4.4.0-83)之后,问题已经得到解决。


0

在Ubuntu 14.04 LTS中,至少对于“xlsx”包,存在相同的问题,内核版本为3.13.0-121-generic。当使用先前的内核(3.13.0-119-generic)启动时,安装可以正常进行且库可以加载。

更新:在Ubuntu 14.04 LTS中,新的内核版本3.13.0-123-generic似乎已经解决了这个问题。


1
在这里,Debian和内核4.9.0-3-amd64也会发生同样的情况。 - vodka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接