在Ubuntu上安装GCC 7?


11

我正在尝试在GCC 7下运行测试。根据如何安装gcc-7或clang 4.0?在Ubuntu.SE上,我们可以执行以下操作在Ubuntu上安装GCC 7:

add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-7

该命令在安装时失败:

# apt-get install -y gcc-7
...
E: Unable to locate package gcc-7

并尝试7.1:

# apt-get install -y gcc-7.1
...
E: Unable to locate package gcc-7.1
E: Couldn't find any package by glob 'gcc-7.1'
E: Couldn't find any package by regex 'gcc-7.1'

根据列出 Server Fault上ubuntu / debian中存储库中的所有软件包,我们可以使用以下命令在特定的仓库中搜索软件包:

# grep ^Package: /var/lib/apt/lists/ppa.launchpad.net_*_Packages | grep gcc-7
#

但是我不确定上面的命令是否正在搜索ppa:ubuntu-toolchain-r

我有点拼凑的东西,但它们没有按预期工作。Ubuntu.SE答案错误,服务器故障搜索失败,或者我做错了。

(我没有用于gcc-7软件包的Debain 8机器,而Fedora 25似乎缺少GCC7。因此,我对Ubuntu几乎一无所知)。

我究竟做错了什么?或者,如何安装GCC 7?


# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:        16.10
Codename:       yakkety
ubuntu  apt  gcc  ppa 

3
ubuntu-toolchain-r/testPPA似乎并不为Ubuntu 16.10(Yakkety)提供GCC-7 -尽管它确实对双方16.04(Xenial)和17.04(灿烂) -你可以通过访问看到“PPA Ubuntu的工具链上传(限制)”的团队和按系列过滤
钢铁驾驶员

谢谢Steeldriver。扩展标记为“有关此PPA的技术细节”的插入符号似乎表明它可用于16.10。奇怪......我想我会搁置这个bug报告,直到我们能找到一个发行版,它提供GCC 7

PPA适用于16.10,但它不提供所有相同的软件包-可能是因为16.10不是LTS发行版
-Steeldriver的

对于那些无法使它正常工作的人(像我一样),另请参阅如何取消添加PPA并从中安装软件包?在Ubuntu Stack Exchange上。

Answers:


7

gcc-7在ubuntu上安装,您应该使用以下ppa

sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update

然后运行: apt-cache search gcc-7

样本输出:

gcc-7-base - GCC, the GNU Compiler Collection (base package)
gcc-7 - GNU C compiler
gcc-7-multilib - GNU C compiler (multilib support)
gcc-7-plugin-dev - Files for GNU GCC plugin development.
gcc-7-test-results - Test results for the GCC test suite
lib32gcc-7-dev - GCC support library (32 bit development files)
libgcc-7-dev - GCC support library (development files)
gcc-7-doc - Documentation for the GNU compilers (gcc, gobjc, g++)
gcc-7-hppa64-linux-gnu - GNU C compiler (cross compiler for hppa64)
gcc-7-locales - GCC, the GNU compiler collection (native language support files)
gcc-7-source - Source of the GNU Compiler Collection
libx32gcc-7-dev - GCC support library (x32 development files)
gcc-7-offload-nvptx - GCC offloading compiler to NVPTX
lib64gcc-7-dev - GCC support library (64bit development files)

安装gcc-7

sudo apt install gcc-7

6
谢谢GAD3R。你知道谁是乔纳森吗?我正在尝试使用Ubuntu的设备,因为它已经受到信任。否则,我必须跳过找出谁是jonathonf的难题,并确定他是否是值得信赖的消息来源。

它对linaro也应该起作用吗?
Nadav B

2

Ubuntu 18.04既有GCC 7(7.3.0-16ubuntu3,目前我正在写此答案),也有GCC 8(8-20180414-1ubuntu2)。不再需要添加第三方存储库:运行sudo apt-get install gcc-7


1

如果您需要使用编译器设置测试平台,则Fedora 26随GCC 7.1一起提供。

您还可以在Debian 10 / Buster(启用了Testing repo的Debian 9)中找到GCC 7 。对于Debian,您必须apt-get install gcc-7 g++-7

为了完整起见,尚不清楚哪个版本的Microsoft编译器支持C ++ 17和std::byte(我需要编译器进行测试的原因)。

感谢GAD3R的帮助。我避免这样做的原因是我无法确定某些PPA的出处。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.