我已经尝试了一段时间在我的Debian机器上安装g ++ 7。我能够很容易地在我的Mac上安装它(因为自制软件有一个公式)。但是我似乎无法找到在Linux上安装它的方法。
This individual had a thread关于安装g ++ 4.9,并更改他给出的网址to this page,这似乎是正确的方向...但我想这样安装它可能会导致一些我希望更新这些软件包时可能出现的问题。
我缺少一个来源吗?或者是否有一个地方可以下载并编译我需要的所有东西来运行它?
感谢您的帮助。
有用数据:
我的内核是x86_64 Linux 3.16.0-4-amd64。
编辑:在听完迪特里希的建议之后,我现在遇到了一个新的错误:
Reading package lists... Done
Building dependency tree
Reading state information... Done
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:
gcc-7 : Depends: cpp-7 (= 7-20170316-1) but it is not going to be installed
Depends: libcc1-0 (>= 7-20170316-1) but it is not going to be installed
Depends: binutils (>= 2.28) but 2.25-5+deb8u1 is to be installed
Depends: libgcc-7-dev (= 7-20170316-1) but it is not going to be installed
Depends: libisl15 (>= 0.15) but it is not installable
Depends: libmpfr4 (>= 3.1.3) but 3.1.2-2 is to be installed
Depends: libstdc++6 (>= 5) but 4.9.2-10 is to be installed
E: Unable to correct problems, you have held broken packages.
这就是我的sources.list的设置方式:
#------------------------------------------------------------------------------#
# OFFICIAL DEBIAN REPOS
#------------------------------------------------------------------------------#
###### Debian Main Repos
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free
###### Debian Update Repos
deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.us.debian.org/debian/ jessie-proposed-updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie-proposed-updates main contrib non-free
###### For ffmpeg
deb http://www.deb-multimedia.org jessie main non-free
###### For gcc-7 (Experimental)
deb http://httpredir.debian.org/debian experimental main
我猜这是,正如你所说,我在Debian稳定的问题?为了解决这个错误,我需要做些什么,同时保持稳定?
编辑2:好的,所以我想出了最后一个错误。我只需要为我遇到麻烦的每个依赖添加,并使用apt-get install -t testing进行安装。谢谢所有回复的人。你们都非常乐于助人。
答案 0 :(得分:7)
您可以在Stack Overflow Unix页面中找到类似的内容 要从debian上测试安装最新的g ++,请执行以下操作: 通过在包含该行的/etc/apt/sources.list.d文件夹中创建一个文件(扩展名为.list),将debian测试仓库添加到apt源中
deb http://ftp.us.debian.org/debian testing main contrib non-free
通过在/etc/apt/preferences.d上创建包含以下内容的文件,指示debian在某些包上使用测试源:
Package: *
Pin: release a=testing
Pin-Priority: 100
您应该将文件命名为首选项或testingpref等。如果您有首选项文件,则可以将其添加到该文件中。删除.unused或任何。在文件名中。
更新数据库:
sudo apt-get update
安装g ++:
sudo apt-get install -t testing g++
这将为您提供repo中最新版本的g ++。因此,它将接收更新,并且更容易可逆。您需要使用-t测试来获取最新版本。 您可能有依赖性问题。 它可能是实验性的,而不是测试您的架构。请参阅https://packages.debian.org/search?keywords=g%2B%2B
对于实验包(其中有7个),添加:
deb http://httpredir.debian.org/debian experimental main
到/etc/apt/sources.list。类似于上面..钉扎应该说a =实验而不是a =测试,最后,
sudo apt-get install -t experimental g++
祝你好运。
答案 1 :(得分:4)
内核无关紧要。
GCC 7尚未发布,您可以在GCC 7 release notes:
中看到免责声明:GCC 7尚未发布,因此本文件正在进行中。
您可能想了解不同Linux发行版的不同之处。特别是rolling distribution是什么,Debian releases如何运作。在滚动发行版中,所有包都会不断更新到更新的版本。 Debian 8.7(Jessie / stable)不滚动发行版。软件包版本已冻结,仅在必要时进行更新,以提高稳定性。 Debian 8.7上最新版本的GCC是GCC 4.9。
Debian 9.0(Stretch / testing)是滚动版本,至少在它被冻结之前。如果您将计算机切换到Stretch,您将获得GCC 6.3。
如果您需要更新的东西,可以切换到Sid(不稳定),或者从Sid固定包裹。
但是,GCC 7是only available in experimental因为尚未发布。如果您愿意,可以从实验中安装单个软件包,有关说明,请参阅Debian Experimental。
添加到您的MERGE INTO green_fact gf
USING (
SELECT s."SessionID", ts.session_date, ts.id
FROM session s INNER JOIN time_session ts
ON s."SessionDate" = ts.session_date ) ts1
ON ( gf.session_id = ts1."SessionID" )
WHEN MATCHED THEN
UPDATE
SET gf.date_id = ts1.id;
/etc/apt/sources.list
然后
https://wiki.debian.org/DebianExperimental
答案 2 :(得分:0)
从页面中,您必须下载g ++ 7 for amd64 deb文件。然后,以root身份运行以下命令。
dpkg -i file.deb