Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to install gcc-9 on debian:latest docker

In order to use the C++17 include <filesystem> I need gcc-9 package in my debian docker.

By default debian:latest (aka 10 or buster) will install gcc 8.3.0 from the regular distro repo.

Is there any PPA, testing repo, whatever, where I can easily install a gcc-9 (or later) package (i.e. not build it from source)

Thanks !

note: need gcc-9 to have good C++17 <filesystem> support.
GCC 9 Release note:

Using the types and functions in does not require linking with -lstdc++fs now.

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

note2: CMake 3.16* doesn't support any cxx_filesystem compiler feature AFAIK.

note3: you can found log here: https://github.com/Mizux/KalistoUnpacker/runs/642516660?check_suite_focus=true

like image 716
Mizux Avatar asked May 04 '20 11:05

Mizux


1 Answers

From a fresh start of 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

yields:

# g++ -v
gcc version 9.3.0 (Debian 9.3.0-11) 
like image 70
Botje Avatar answered Sep 24 '22 12:09

Botje