Установка gcc13 и g++13 в образе докера ржавчины книжного червя Debian

Я пытаюсь установить gcc13 и g++13 в следующий образ докера Rust.

# Builder
FROM rust:1-bookworm AS builder

RUN apt update
RUN apt install software-properties-common -y
RUN apt-get install python3-launchpadlib -y
RUN add-apt-repository ppa:ubuntu-toolchain-r/test -y
RUN apt update
RUN apt install -y clang g++-13 gcc-13

Поскольку gcc13 изначально недоступен в Debian Bookworm, я уже пробовал использовать такой метод, как использование ppa:ubuntu-toolchain-r/test, как описано здесь.

Однако я все еще получаю сообщение об ошибке E: Unable to locate package g++-13 и E: Unable to locate package g++-13. Есть идеи, что я сделал не так?

Есть ли конкретная причина, по которой вам нужны именно эти версии GCC? Большая часть кода должна нормально компилироваться с версией GCC в bookworm. Возможно, будет проще внести небольшие изменения в исходный код, если это необходимо, чем пытаться установить совершенно новый компилятор.

bk2204 10.04.2024 23:11

К сожалению, нужно будет использовать компиляцию gcc13.

KaiJun 10.04.2024 23:34
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
2
1 109
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вариант 1: Альпийский

Вы можете использовать базовый образ Alpine.

FROM rust:1-alpine

RUN apk add g++

В этом случае вы сразу получите доступ к GCC 13.

/ # gcc -v
gcc version 13.2.1 20231014 (Alpine 13.2.1_git20231014) 
/ # g++ -v
gcc version 13.2.1 20231014 (Alpine 13.2.1_git20231014)

Вариант 2: установить на Debian

Если вам действительно нужен образ на основе Debian Bookworm, вы можете установить GCC 13 из исходного кода. Это немного утомительно, потому что сборка занимает некоторое время.

FROM rust:1-bookworm AS builder

RUN apt-get update && \
    apt-get install -y \
        build-essential \
        wget \
        libgmp-dev \
        libmpfr-dev \
        libmpc-dev

RUN wget -q https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.gz
RUN tar -xf gcc-13.2.0.tar.gz && \
    cd gcc-13.2.0 && \
    ./contrib/download_prerequisites

# This will cross-compile using the existing GCC on the image.
RUN cd gcc-13.2.0 && \
    ./configure --disable-multilib --enable-languages=c,c++ && \
    make -j$(nproc) && \
    make install

RUN update-alternatives \
        --install /usr/bin/gcc gcc /usr/local/bin/gcc 60 \
        --slave /usr/bin/g++ g++ /usr/local/bin/g++ && \
    rm -rf gcc-13.2.0.tar.gz gcc-13.2.0 && \
    apt purge -y gcc cpp

Другие вопросы по теме