如何在Debian Wheezy armel上安装g ++ 4.9?

时间:2014-08-05 20:04:59

标签: c++11 g++ arm debian gcc4.9

我的Debian 7 armel嵌入式系统目前有g ++ 4.6,我想升级到g ++ 4.9以使用新的C ++ 11功能。我该怎么做?

我目前的sources.list内容是:


    deb http://security.debian.org/ wheezy/updates main
    deb-src http://security.debian.org/ wheezy/updates main
    deb http://ftp.us.debian.org/debian wheezy main non-free
    deb-src http://ftp.us.debian.org/debian wheezy main non-free

包的简单apt-get安装不起作用:


    root@arm:~#  apt-get install g++-4.9
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package g++-4.9
    E: Couldn't find any package by regex 'g++-4.9'

4 个答案:

答案 0 :(得分:15)

另一种解决方法可能是根据this blog post安装来自" Jessie"的g ++ 4.9软件包。简而言之,在安装新的G ++时,您必须告诉APT使用Jessie repos。首先让当前的Wheezy保持最新状态:

sudo apt-get update
sudo apt-get upgrade

然后进行备份:-)并修改/etc/apt/sources.list,以便用"wheezy"替换字符串"jessie"

sudo cp /etc/apt/sources.list /etc/apt/sources.list.WHEEZY
sudo vi /etc/apt/sources.list

现在更新软件包列表并安装4.9版本的GCC / G ++:

sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9

此后恢复原状"包清单:

sudo cp /etc/apt/sources.list.WHEEZY /etc/apt/sources.list
sudo apt-get update

这留下了原始的GCC,G ++。如果您希望使用4.9版本进行编译,请相应地设置CCCXX env变量,或者明确地将编译器调用为gcc-4.9g++-4.9

答案 1 :(得分:5)

可能需要:packaging-devubuntu-dev-tools

设置pbuilder

(这允许您在chroot中构建一个包,而不会使用构建依赖包来污染您的系统)

sudo pbuilder create

如果你想为特定的发行版构建,(pbuilder在chroot中使用构建系统发行版)你可以使用pbuilder-dist [precise / oneric / trusy / etc ...]创建

获取debian源

pull-debian-source gcc-4.9 [4.9.0-6] 

特定的debian修订版是可选的,但如果你想要实验/不稳定/测试/稳定版本,则可能很有用 你也可以从特定的ubuntu发行版中添加它们作为deb-src添加到sources.list并使用sudo apt-get src

构建包

sudo pbuilder build gcc-4.9_4.9.0-6.dsc

在下载的文件中有一个.dsc文件,对于最新的gcc,它是gcc-4.9_4.9.0-6.dsc,它是一个包描述符文件。 .orig.tar。[gz / xz]是源码tarball。

创建本地Apt-repository

mkdir /convenient/place/for/repo
cp /var/cache/pbuilder/result/* /path/to/repo
cd /path/to/repo
apt-ftp archive packages . > Packages
sudo echo "deb [trusted=yes] file:/local/repo/Packages ./" > /etc/apt/sources.list.d/gcc-repo.list`

请注意,您也可以使用从任何地方下载的.debs执行此步骤(跳过步骤1-3)

安装

apt-get update; apt-get install gcc-4.9 g++-4.9

答案 2 :(得分:1)

最好不要使用jessie软件包,而是检查它是否已被后端移植到wheezy。将其添加到您的/etc/apt/sources.list

deb http://http.debian.net/debian wheezy-backports main

然后执行apt-get update并查看是否可以安装它。

答案 3 :(得分:0)

现在有一个gcc-4.9-backport

sudo apt-get update && sudo apt-get install gcc-4.9-backport