public:wikiblog:12-05-2025-kompilacja-gcc-15-ubuntu-24.10-dla-c23_musl
Table of Contents
Kompilacja GCC 15.1 na Ubuntu 24.10 dla C23 + wrapper musl
Wymagane pakiety
sudo apt update sudo apt install build-essential libgmp-dev libmpfr-dev libmpc-dev texinfo flex bison libisl-dev wget curl
Przygotowanie środowiska
Utworzenie katalogów
mkdir $HOME/gcc-build cd $HOME/gcc-build mkdir gcc-15-build
Pobranie paczki z GCC-15.1
Dostępne mirrory są pod adresem https://gcc.gnu.org/mirrors.html
cd $HOME/gcc-build wget https://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-15.1.0/gcc-15.1.0.tar.xz tar xvf gcc-15.1.0.tar.xz
Przygotowanie wymogów
cd $HOME/gcc-build/gcc-15.1.0 ./contrib/download_prerequisites
Budowanie GCC-15.1
Konfiguracja
W tym wypadku konfigurujemy budowanie tak, aby skompilowane binarki trafiły do $HOME/gcc-15/bin
. Pozwoli nam to odizolować instalację od systemu.
cd $HOME/gcc-build/gcc-15-build $HOME/gcc-build/gcc-15.1.0/configure \ --prefix=$HOME/gcc-15 \ --enable-languages=c \ --disable-multilib
Kompilacja
Szczerze zalecam wybranie wszystkich dostępnych rdzeni i zostawienie tego procesu na noc. Zacząłem kompilacje wieczorem i wytrwałem tylko do północy, aż stwierdziłem że zostawiam ten proces na noc. Uwaga! W moim przypadku skompilowane elementy zajęły 11GB miejsca na dysku!
cd $HOME/gcc-build/gcc-15-build make -j6
Instalacja
cd $HOME/gcc-build/gcc-15-build make install
Wrapper ''musl-gcc''
Aby użyć wybudowanego w ten sposób GCC razem z wrapperem musl-gcc
, musimy go zainstalować i wyeksportować ścieżkę do nowego GCC.
Instalacja
sudo apt update sudo apt install musl-tools
Konfiguracja
Jeśli potrzebujesz, możesz ten eksport wrzucić do .bashrc
lub innego miejsca inicjalizacji twojego shella.
export REALGCC=$HOME/gcc-15/bin/gcc
Testowanie
Przygotowanie środowiska
mkdir $HOME/test-c cd $HOME/test-c
Plik ''test.c''
#include <stdio.h> const unsigned char pliczek[] = { #embed "test.txt" suffix(,0) }; int main(){ printf("%s\n", pliczek); return 0; }
Plik ''test.txt''
hello, world!
Kompilacja
musl-gcc -static -O2 -s -std=c23 test.c -o test
public/wikiblog/12-05-2025-kompilacja-gcc-15-ubuntu-24.10-dla-c23_musl.txt · Last modified: 2025/05/12 14:33 by mdukat