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



为了使用C++17 include<filesystem>,我需要在debian docker中使用gcc-9包。

默认情况下,debian:latest(又名10或buster(将从常规发行版repo安装gcc8.3.0

是否有任何PPA、测试回购等,我可以轻松安装gcc-9(或更高版本(包(即不从源代码构建(

谢谢!

注意:需要gcc-9具有良好的C++17<filesystem>支持
GCC 9发布说明:

使用中的类型和函数现在不需要链接-lsdc++fs。

src:https://gcc.gnu.org/gcc-9/changes.html

注2:CMake 3.16*不支持任何cxx_filesystem编译器功能AFAIK。

注3:您可以在此处找到日志:https://github.com/Mizux/KalistoUnpacker/runs/642516660?check_suite_focus=true

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) 

在我的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

注意:我在安装CCD_ 8之后添加了这些行,所以从技术上讲;默认";gcc然后由测试repo中的更新。。。

注2:使用RUN gcc --version,我得到了gcc (Debian 9.3.0-11) 9.3.0:D

最新更新