如何在debian上安装gcc-9:最新的docker

gopyfrb3  于 5个月前  发布在  Docker
关注(0)|答案(2)|浏览(128)

为了使用C17 include <filesystem>,我需要在我的debian docker中安装gcc-9包。
默认情况下,debian:latest(又名10或buster)将从常规发行版仓库安装gcc 8.3.0
是否有任何PPA,测试仓库,无论什么,我可以轻松安装gcc-9(或更高版本)包(即不从源代码构建它)
谢谢你,谢谢
注意:需要gcc-9来支持C
17 <filesystem>
GCC 9发行说明:
使用中的类型和函数现在不需要与-lstdc++fs链接。
公司简介
注2:CMake 3.16* 不支持任何cxx_filesystem编译器特性AFAIK。
注3:你可以在这里找到日志:https://github.com/Mizux/KalistoUnpacker/runs/642516660?check_suite_focus=true

kse8i1jr

kse8i1jr1#

debian:10的全新开始:

echo 'deb http://deb.debian.org/debian testing main' > /etc/apt/sources.list.d/testing.list
apt update
cat <<EOF > /etc/apt/preferences.d/pin
Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650
EOF

apt install -qq -y -t testing build-essential

字符串
产量:

# g++ -v
gcc version 9.3.0 (Debian 9.3.0-11)

gzszwxb4

gzszwxb42#

在我的Dockerfile中,我这样做了:

FROM debian:latest AS env
...
RUN echo 'deb http://deb.debian.org/debian testing main' >> /etc/apt/sources.list
RUN apt update -y
RUN apt install -y gcc

字符串
注:我在安装build-essential之后添加了这行代码,所以从技术上讲,容器安装了“默认”gcc,然后它被测试仓库中的gcc更新。
注2:使用RUN gcc --version,我得到了gcc (Debian 9.3.0-11) 9.3.0:D

相关问题