【问题标题】:Install R 3.1.2 on Wheezy 7.8 (Raspbian) fails在 Wheezy 7.8 (Raspbian) 上安装 R 3.1.2 失败
【发布时间】:2019-10-06 20:09:57
【问题描述】:

我是 Linux 新手,并尝试在我的 Raspberry 上安装最新的 R 版本。 我的 Raspberry 在 Wheezy 7.8 上运行。

我按照指示on CRAN,所以我

  • 已添加 deb http://cran.rstudio.com/bin/linux/debian wheezy-cran3//etc/apt/sources.list
  • 运行apt-get update,它成功了,只给了我一个公钥的“签名错误”,正如 CRAN 网站上指出的那样
  • apt-get install r-base

但是最后一条命令的结果是

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.  
The following information may help to resolve the situation:
The following packages have unmet dependencies:  
 r-base : Depends: r-base-core (>= 3.1.2-1~wheezycran3.0) but it is not going to be installed     
Depends: r-recommended (= 3.1.2-1~wheezycran3.0) but it is not going to be installed     
Recommends: r-base-html but it is not going to be installed     
Recommends: r-doc-html but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

我之前尝试安装 R-2.15,然后运行上述命令。 R-2.15 可以安装成功,但我真的需要 R-3*。

我确实浏览了网络,但找不到任何有用的提示来解决我的具体问题,所以我很感激你能给我的任何支持。

谢谢!


如果有任何用处: apt-cache policy r-base给了

r-base:
  Installed: (none)
  Candidate: 3.1.2-1~wheezycran3.0
  Version table:
     3.1.2-1~wheezycran3.0 0
        500 http://cran.rstudio.com/bin/linux/debian/ wheezy-cran3/ Packages
     3.1.0-1~wheezycran3.0 0
        500 http://cran.rstudio.com/bin/linux/debian/ wheezy-cran3/ Packages
     2.15.1-4 0
        500 http://mirrordirector.raspbian.org/raspbian/ wheezy/main armhf Packages

apt-cache policy r-base-core 给了

r-base-core:
  Installed: (none)
  Candidate: 2.15.1-4
  Version table:
     2.15.1-4 0
        500 http://mirrordirector.raspbian.org/raspbian/ wheezy/main armhf Packages

uname -a给了

Linux raspberrypi 3.18.5+ #744 PREEMPT Fri Jan 30 18:19:07 GMT 2015 armv6l GNU/Linux

【问题讨论】:

  • @Jealie 错误消息现在略有不同。它提到了 R-2.15 和其他未满足的依赖项。以下软件包具有未满足的依赖关系: r-base : Depends: r-base-core (>= 3.1.2-1~wheezycran3.0) 但要安装 2.15.1-4 r-recommended : Depends: r-base -core (>= 3.1.2-1~wheezycran3.0) 但要安装 2.15.1-4 取决于:r-cran-boot (>= 1.2.19) 但不会安装 取决于:r -cran-codetools 但它不会被安装 E: 无法纠正问题,你持有损坏的包。
  • @Jealie:首先感谢。 apt-key 命令似乎运行了,但 apt-get update; apt-get install r-base r-base-core r-recommended r-base-html r-doc-html 仍然导致上述错误。 CRAN 页面也提到了一个被阻塞的端口,所以我会尝试...
  • 我还尝试解除对端口的阻塞(正如 CRAN 网站建议的那样),并在 this blog 之后添加密钥。还是没有成功……你还有什么想法吗?

标签: r raspberry-pi raspbian apt


【解决方案1】:

我遇到了同样的情况,并决定从源代码安装它,而不是从存储库安装 R(apt-get 命令)。

这是我在 Raspberry Pi 2 上运行的命令。 我可以成功安装并运行 R(3.1.2)。 这对您来说可能不是完整的答案,因为我可能已经安装了您以前没有的 gcc 之类的库。如果您遇到其他问题,请告诉我。我想解决它。

作为关于这个话题的旁注,因为sudo make install 过程花费了很长时间(可能超过一个小时。我不确定,因为我在不知不觉中睡着了......),我建议你这样做当你有足够的时候或者像我一样睡觉之前。

wget http://cran.rstudio.com/src/base/R-3/R-3.1.2.tar.gz
mkdir R_HOME
mv R-3.1.2.tar.gz R_HOME/
cd R_HOME/
tar zxvf R-3.1.2.tar.gz
cd R-3.1.2/
sudo apt-get install gfortran libreadline6-dev libx11-dev libxt-dev
./configure
make
sudo make install
R

【讨论】:

  • 我现在正在根据您的建议安装它,确实需要很长时间。我建议使用screen 可以在安装过程中注销。
  • 更新:我能够在我的 Raspberry Pi 1 Model B 上安装 R 3.2.2 并提供 teramonagis 建议。但是,由于内存不足,我无法安装任何软件包。欢迎提出任何建议。
  • +1 非常有用的答案。注意:./conifg 并没有立即为我工作。我不得不sudo apt-get install 一些库,例如libcurl3lblzma。更多信息可以在这里找到stackoverflow.com/questions/40639138/…
【解决方案2】:

问题的原因可能是 cran 存储库提供了包的 armel 版本,而不是 armhf(这是 RPI 的预期架构)。如果这是正确的,那么您有两种解决方案:

  1. 第一个解决方法可能是下载 armel 版本的软件包,然后强制安装,尽管架构不匹配。它应该根据Debian wiki 工作,但您可能会遇到性能问题:

Raspberry Pi 中的 CPU 实现了 ARMv6 ISA(使用 VFP2)和 因此与 ARMv7+VFP3 的 Debian armhf 端口基线不兼容 和 ARM 硬件浮点端口,用于其他发行版,其中 都有相同的基线。它与 Debian armel 兼容 (armv4t, soft(emulated) FP),但浮点任务会很慢 运行 Debian armel 端口时。

为此,您可以尝试通过指定armel 架构来重新安装软件包,例如:

apt-get install r-base:armel

如果它不能以这种方式工作,您可以从http://cran.r-project.org/bin/linux/debian/wheezy-cran3/ 下载软件包并使用如下命令行手动安装:

dpkg --install --force-architecture xxxx_armel.deb  yyyy_armel.deb zzzz_armel.deb

  1. 另一种解决方案是从源代码编译 R。

【讨论】:

  • 优秀的答案。我怀疑 arm cpu 不匹配,但错过了 一些 arm 架构实际上得到支持的事实。
  • 谢谢@Jealie。不幸的是,我没有成功。 apt-get install r-base:armel 没有成功 - 错误是 E: Unable to locate package r-base。我也试过dpkg --add-architecture armel 和编辑sources.files,但没有成功——我的知识太有限了。一些网站建议更改为 Debian Jessie(请参阅 herehere)但同样,似乎找不到 armel 软件包...我可能不得不手动安装。
  • 我无法让手动方式工作:sudo dpkg --install --force-architecture r-base-core_3.1.2-1~wheezycran3.0_armel.deb 给出以下错误:dpkg: dependency problems prevent configuration of r-base-core: r-base-core depends on xdg-utils. r-base-core depends on libblas3 | libblas.so.3 | libatlas3-base. ... 我对 Unix 的有限知识很有可能导致我错过了一些东西,但我无法弄清楚。
  • @Stephan:我认为手动安装几乎可以正常工作,但您需要更多软件包(至少xdg-utilslibblas3libblas.so.3libatlas3-base)。我相信这些软件包是主要的 debian 存储库的一部分。如果你这样做:1)sudo apt-get install xdg-utils libblas3 libblas.so.3 libatlas3-base,和 2)再试一次手动安装(sudo dpkg --install [...]),那么你应该很好。如果它仍然不起作用,请告诉我:)
  • @jealie 我尝试按照建议进行操作,但没有运行:Package libblas.so.3 is a virtual package provided by: libblas3 1.2.20110419-5 libatlas3-base 3.8.4-9+deb7u1 +rpi1 你应该明确选择一个来安装。
【解决方案3】:

我通过升级 Wheezy 到Jessie解决了我最初的问题。我不是专家,但 Jessie 似乎是 Debian 的当前测试版本,而 Wheezy 是稳定版本 - 请参阅 here
对于升级,我按照hereherehere 的说明进行操作。注意:升级需要相当长的时间,在此过程中您需要回答一些问题。

但请注意:Jessie 仍在测试,有些人建议不要使用它,有关讨论,请参阅例如here.
我确实从一个全新的全新图像完全设置它,并且效果很好。

升级到 Jessie 后,我安装了 R-3.1.1。使用

sudo apt-get install r-base

我要感谢所有回答我的问题并提供解决上述问题的替代方法的人。

【讨论】:

    【解决方案4】:

    我可以使用 teramonagi 的回答将 R-3.1.2 安装到 raspbian 中。我确认它可以在 Raspberry Pi 型号 B/B+ 上成功安装。

    然而,在你真正使用 R(安装包和运行一些 R 脚本)之前,你必须增加树莓派的交换文件大小,因为 RAM 不足(这个服务的工作方式与窗口中的页面文件非常相似,它当 RAM 使用率很高时启动)。您可以通过在 LX 终端中输入以下命令来编辑其中一个配置文件来配置它。

    sudo nano /etc/dphys-swapfile
    CONF_SWAPSIZE=100 #(change 100 to 512 or 1024, up to you, save the file)
    sudo /etc/init.d/dphys-swapfile stop
    sudo /etc/init.d/dphys-swapfile start #(restart swap file service with new swap file size)
    

    但请注意,一些用户认为增加交换文件大小实际上会损坏您的 SD 卡。因此,应用此更改需要您自担风险。我已经用这个配置为我的 R 自动化运行我的 Pi 1 个月了。到目前为止没有问题。

    希望这会有所帮助。

    编辑:如果您使用模型 B/B+,我建议先配置交换文件大小,然后编译 R。

    【讨论】:

      【解决方案5】:

      这就是我在 wheezy 上更新我的 r-base 所做的:

      如何在 DEBIAN WHEEZY 上更新 r-base 2.15 到 3.x

      1. 将这些行添加到“/etc/apt/sources.list”的末尾

        deb http://cran.revolutionanalytics.com/bin/linux/debian wheezy-cran3/
        deb-src http://cran.revolutionanalytics.com/bin/linux/debian wheezy-cran3/ 
        
      2. 添加缺少的 cran 公钥

        gpg --keyserver pgpkeys.mit.edu --recv-key 06F90DE5381BA480
        gpg -a --export 06F90DE5381BA480 | sudo apt-key add -
        
      3. 更新升级

        apt-get update
        aptitude -t wheezy-cran3 install r-base r-base-dev
        

      【讨论】:

        猜你喜欢
        • 2015-09-25
        • 1970-01-01
        • 2015-12-09
        • 1970-01-01
        • 1970-01-01
        • 2015-02-20
        • 2016-07-26
        • 1970-01-01
        • 2018-12-23
        相关资源
        最近更新 更多