在Wheezy 7.8(Raspbian)上安装R 3.1.2失败

时间:2015-02-03 22:20:56

标签: r raspberry-pi raspbian apt

我是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

5 个答案:

答案 0 :(得分:14)

我遇到了同样的情况,决定从源代码安装它而不是从存储库安装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

答案 1 :(得分:3)

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

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

    Raspberry Pi中的CPU实现了ARMv6 ISA(带有VFP2)和   因此与ARMv7 + VFP3的Debian armhf端口基线不兼容   和其他发行版的ARM硬件浮点端口   都具有相同的基线。它与Debian armel兼容   (armv4t,soft(仿真)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.

答案 2 :(得分:1)

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

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

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

sudo apt-get install r-base

我要感谢所有回答我问题的人,并提出了解决上述问题的其他方法。

答案 3 :(得分:1)

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

但是,在实际使用R(安装软件包并运行一些R脚本)之前,由于缺少RAM,您必须增加Raspberry Pi的交换文件大小(此服务与窗口中的页面文件非常相似,它当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.

答案 4 :(得分:0)

这是我为了更新我的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. 添加缺失的public密钥

    gpg --keyserver pgpkeys.mit.edu --recv-key 06F90DE5381BA480

    gpg -a --export 06F90DE5381BA480 | sudo apt-key add -

  3. 更新和升级

    apt-get update

    aptitude -t wheezy-cran3安装r-base r-base-dev