История изменений
Исправление ZenitharChampion, (текущая версия) :
Вот инструкция для тех, кто хочет скомпилировать новый GCC в старом дистрибутиве.
Лёгкий уровень: Ubuntu 16.04 (ядро 4.4)
Средний уровень: Debian 6 (ядро 2.6.32)
Сложный уровень: CentOS 4 (ядро 2.6.9)
Компилировать будем в /home/username/gcc-8
. make install
выполняем без sudo
, потому что устанавливаем в директорию пользователя. Количество потоков сборки -jN
для Intel CPU равно кол-ву реальных ядер (например -j4
), для AMD FX - кол-ву ядер минус одно, например -j7
.
Компилируем GMP
mkdir /home/username/builddir
cd /home/username/builddir
wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2
tar xf gmp-6.1.2.tar.bz2
cd gmp-6.1.2
CPPFLAGS=-fexceptions ./configure --enable-cxx --prefix=/home/username/gcc-8
make -j4
make install
Компилируем MPFR
cd /home/username/builddir
wget https://www.mpfr.org/mpfr-current/mpfr-4.0.1.tar.bz2
tar xf mpfr-4.0.1.tar.bz2
cd mpfr-4.0.1
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8
make -j4
make install
Компилируем MPC
cd /home/username/builddir
wget https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
tar xf mpc-1.1.0.tar.gz
cd mpc-1.1.0
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8
make -j4
make install
Компилируем ISL
cd /home/username/builddir
wget http://isl.gforge.inria.fr/isl-0.20.tar.bz2
tar xf isl-0.20.tar.bz2
cd isl-0.20
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8 --with-mpc=/home/username/gcc-8
make -j4
make install
Компилируем GCC
cd /home/username/builddir
wget http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.gz
tar xf gcc-8.2.0.tar.gz
cd gcc-8.2.0
mkdir objdir
cd objdir
export LD_LIBRARY_PATH=/home/username/gcc-8/lib:$LD_LIBRARY_PATH
../configure --prefix=/home/username/gcc-8 --enable-languages=c,c++ --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8 --with-mpc=/home/username/gcc-8 --with-isl=/home/username/gcc-8
make -j4
make install
Использовать так:
export CC=/home/username/gcc-8/bin/gcc
export CXX=/home/username/gcc-8/bin/g++
При распространении бинарника, скомпилированного этим компилятором, может понадобиться положить в архив с программой - libgcc.so.1 и libstdc++.so.6 из нового компилятора.
Исправление ZenitharChampion, :
Вот небольшая инструкция для тех, кто хочет скомпилировать новый GCC в старом дистрибутиве.
Лёгкий уровень: Ubuntu 16.04 (ядро 4.4)
Средний уровень: Debian 6 (ядро 2.6.32)
Сложный уровень: CentOS 4 (ядро 2.6.9)
Компилировать будем в /home/username/gcc-8
. make install
выполняем без sudo
, потому что устанавливаем в директорию пользователя. Количество потоков сборки -jN
для Intel CPU равно кол-ву реальных ядер (например -j4
), для AMD FX - кол-ву ядер минус одно, например -j7
.
Компилируем GMP
mkdir /home/username/builddir
cd /home/username/builddir
wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2
tar xf gmp-6.1.2.tar.bz2
cd gmp-6.1.2
CPPFLAGS=-fexceptions ./configure --enable-cxx --prefix=/home/username/gcc-8
make -j4
make install
Компилируем MPFR
cd /home/username/builddir
wget https://www.mpfr.org/mpfr-current/mpfr-4.0.1.tar.bz2
tar xf mpfr-4.0.1.tar.bz2
cd mpfr-4.0.1
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8
make -j4
make install
Компилируем MPC
cd /home/username/builddir
wget https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
tar xf mpc-1.1.0.tar.gz
cd mpc-1.1.0
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8
make -j4
make install
Компилируем ISL
cd /home/username/builddir
wget http://isl.gforge.inria.fr/isl-0.20.tar.bz2
tar xf isl-0.20.tar.bz2
cd isl-0.20
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8 --with-mpc=/home/username/gcc-8
make -j4
make install
Компилируем GCC
cd /home/username/builddir
wget http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.gz
tar xf gcc-8.2.0.tar.gz
cd gcc-8.2.0
mkdir objdir
cd objdir
export LD_LIBRARY_PATH=/home/username/gcc-8/lib:$LD_LIBRARY_PATH
../configure --prefix=/home/username/gcc-8 --enable-languages=c,c++ --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8 --with-mpc=/home/username/gcc-8 --with-isl=/home/username/gcc-8
make -j4
make install
Использовать так:
export CC=/home/username/gcc-8/bin/gcc
export CXX=/home/username/gcc-8/bin/g++
При распространении бинарника, скомпилированного этим компилятором, может понадобиться положить в архив с программой - libgcc.so.1 и libstdc++.so.6 из нового компилятора.
Исправление ZenitharChampion, :
Вот небольшая инструкция для тех, кто хочет скомпилировать новый GCC в старом дистрибутиве.
Лёгкий уровень: Ubuntu 16.04 (ядро 4.4)
Средний уровень: Debian 6 (ядро 2.6.32)
Сложный уровень: CentOS 4 (ядро 2.6.9)
Компилировать будем в /home/username/gcc-8
. make install
выполняем без sudo
, потому что устанавливаем в директорию пользователя. Количество потоков сборки -jN
для Intel CPU равно кол-ву реальных ядер (например -j4
), для AMD FX - кол-ву ядер минус одно, например -j7
.
Компилируем GMP
mkdir /home/username/builddir
cd /home/username/builddir
wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2
tar xf gmp-6.1.2.tar.bz2
cd gmp-6.1.2
CPPFLAGS=-fexceptions ./configure --enable-cxx --prefix=/home/username/gcc-8
make -j4
make install
Компилируем MPFR
cd /home/username/builddir
wget https://www.mpfr.org/mpfr-current/mpfr-4.0.1.tar.bz2
tar xf mpfr-4.0.1.tar.bz2
cd mpfr-4.0.1
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8
make -j4
make install
Компилируем MPC
cd /home/username/builddir
wget https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
tar xf mpc-1.1.0.tar.gz
cd mpc-1.1.0
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8
make -j4
make install
Компилируем MPC
cd /home/username/builddir
wget http://isl.gforge.inria.fr/isl-0.20.tar.bz2
tar xf isl-0.20.tar.bz2
cd isl-0.20
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8 --with-mpc=/home/username/gcc-8
make -j4
make install
Компилируем GCC
cd /home/username/builddir
wget http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.gz
tar xf gcc-8.2.0.tar.gz
cd gcc-8.2.0
mkdir objdir
cd objdir
export LD_LIBRARY_PATH=/home/username/gcc-8/lib:$LD_LIBRARY_PATH
../configure --prefix=/home/username/gcc-8 --enable-languages=c,c++ --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8 --with-mpc=/home/username/gcc-8 --with-isl=/home/username/gcc-8
make -j4
make install
Использовать так:
export CC=/home/username/gcc-8/bin/gcc
export CXX=/home/username/gcc-8/bin/g++
При распространении бинарника, скомпилированного этим компилятором, может понадобиться положить в архив с программой - libgcc.so.1 и libstdc++.so.6 из нового компилятора.
Исправление ZenitharChampion, :
Вот небольшая инструкция для тех, кто хочет скомпилировать новый GCC в старом дистрибутиве.
Лёгкий уровень: Ubuntu 16.04 (ядро 4.4)
Средний уровень: Debian 6 (ядро 2.6.32)
Сложный уровень: CentOS 4 (ядро 2.6.9)
Компилировать будем в /home/username/gcc-8
. make install
выполняем без sudo
, потому что устанавливаем в директорию пользователя. Количество потоков сборки -j4
для Intel CPU равно кол-ву реальных ядер (для AMD FX - кол-ву ядер минус одно, например -j7
).
Компилируем GMP
mkdir /home/username/builddir
cd /home/username/builddir
wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2
tar xf gmp-6.1.2.tar.bz2
cd gmp-6.1.2
CPPFLAGS=-fexceptions ./configure --enable-cxx --prefix=/home/username/gcc-8
make -j4
make install
Компилируем MPFR
cd /home/username/builddir
wget https://www.mpfr.org/mpfr-current/mpfr-4.0.1.tar.bz2
tar xf mpfr-4.0.1.tar.bz2
cd mpfr-4.0.1
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8
make -j4
make install
Компилируем MPC
cd /home/username/builddir
wget https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
tar xf mpc-1.1.0.tar.gz
cd mpc-1.1.0
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8
make -j4
make install
Компилируем MPC
cd /home/username/builddir
wget http://isl.gforge.inria.fr/isl-0.20.tar.bz2
tar xf isl-0.20.tar.bz2
cd isl-0.20
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8 --with-mpc=/home/username/gcc-8
make -j4
make install
Компилируем GCC
cd /home/username/builddir
wget http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.gz
tar xf gcc-8.2.0.tar.gz
cd gcc-8.2.0
mkdir objdir
cd objdir
export LD_LIBRARY_PATH=/home/username/gcc-8/lib:$LD_LIBRARY_PATH
../configure --prefix=/home/username/gcc-8 --enable-languages=c,c++ --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8 --with-mpc=/home/username/gcc-8 --with-isl=/home/username/gcc-8
make -j4
make install
Использовать так:
export CC=/home/username/gcc-8/bin/gcc
export CXX=/home/username/gcc-8/bin/g++
При распространении бинарника, скомпилированного этим компилятором, может понадобиться положить в архив с программой - libgcc.so.1 и libstdc++.so.6 из нового компилятора.
Исправление ZenitharChampion, :
Вот небольшая инструкция для тех, кто хочет скомпилировать новый GCC в старом дистрибутиве.
Лёгкий уровень: Ubuntu 16.04 (ядро 4.4)
Средний уровень: Debian 6 (ядро 2.6.32)
Сложный уровень: CentOS 4 (ядро 2.6.9)
Компилировать будем в /home/username/gcc-8
. make install
выполняем без sudo
, потому что устанавливаем в директорию пользователя. Количество потоков сборки -j4
для Intel CPU равно кол-ву реальных ядер (для AMD FX - кол-ву ядер минус одно, например -j7
).
Компилируем GMP
mkdir /home/username/builddir
cd /home/username/builddir
wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2
tar xf gmp-6.1.2.tar.bz2
cd gmp-6.1.2
CPPFLAGS=-fexceptions ./configure --enable-cxx --prefix=/home/username/gcc-8
make -j4
make install
Компилируем MPFR
cd /home/username/builddir
wget https://www.mpfr.org/mpfr-current/mpfr-4.0.1.tar.bz2
tar xf mpfr-4.0.1.tar.bz2
cd mpfr-4.0.1
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8
make -j4
make install
Компилируем MPC
cd /home/username/builddir
wget https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
tar xf mpc-1.1.0.tar.gz
cd mpc-1.1.0
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8
make -j4
make install
Компилируем MPC
cd /home/username/builddir
wget http://isl.gforge.inria.fr/isl-0.20.tar.bz2
tar xf isl-0.20.tar.bz2
cd isl-0.20
./configure --prefix=/home/username/gcc-8 --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8 --with-mpc=/home/username/gcc-8
make -j4
make install
Компилируем GCC
cd /home/username/builddir
wget http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.gz
tar xf gcc-8.2.0.tar.gz
cd gcc-8.2.0
mkdir objdir
cd objdir
export LD_LIBRARY_PATH=/home/username/gcc-8/lib:$LD_LIBRARY_PATH
../configure --prefix=/home/username/gcc-8 --enable-languages=c,c++ --with-gmp=/home/username/gcc-8 --with-mpfr=/home/username/gcc-8 --with-mpc=/home/username/gcc-8 --with-isl=/home/username/gcc-8
make -j4
make install
Использовать так:
export CC=/home/username/gcc-8/bin/gcc
export CXX=/home/username/gcc-8/bin/g++
Исходная версия ZenitharChampion, :
Вот небольшая инструкция для тех, кто хочет скомпилировать новый GCC в старом дистрибутиве.
Лёгкий уровень: Ubuntu 16.04 (ядро 4.4)
Средний уровень: Debian 6 (ядро 2.6.32)
Сложный уровень: CentOS 4 (ядро 2.6.9)
Компилировать будем в /home/username/gcc-7
. make install
выполняем без sudo
, потому что устанавливаем в директорию пользователя. Количество потоков сборки -j4
для Intel CPU равно кол-ву реальных ядер (для AMD FX - кол-ву ядер минус одно, например -j7
).
Компилируем GMP
mkdir /home/username/builddir
cd /home/username/builddir
wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2
tar xf gmp-6.1.2.tar.bz2
cd gmp-6.1.2
CPPFLAGS=-fexceptions ./configure --enable-cxx --prefix=/home/username/gcc-7
make -j4
make install
Компилируем MPFR
cd /home/username/builddir
wget https://www.mpfr.org/mpfr-current/mpfr-4.0.1.tar.bz2
tar xf mpfr-4.0.1.tar.bz2
cd mpfr-4.0.1
./configure --prefix=/home/username/gcc-7 --with-gmp=/home/username/gcc-7
make -j4
make install
Компилируем MPC
cd /home/username/builddir
wget https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
tar xf mpc-1.1.0.tar.gz
cd mpc-1.1.0
./configure --prefix=/home/username/gcc-7 --with-gmp=/home/username/gcc-7 --with-mpfr=/home/username/gcc-7
make -j4
make install
Компилируем MPC
cd /home/username/builddir
wget http://isl.gforge.inria.fr/isl-0.20.tar.bz2
tar xf isl-0.20.tar.bz2
cd isl-0.20
./configure --prefix=/home/username/gcc-7 --with-gmp=/home/username/gcc-7 --with-mpfr=/home/username/gcc-7 --with-mpc=/home/username/gcc-7
make -j4
make install
Компилируем GCC
cd /home/username/builddir
wget http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.gz
tar xf gcc-8.2.0.tar.gz
cd gcc-8.2.0
mkdir objdir
cd objdir
export LD_LIBRARY_PATH=/home/username/gcc-7/lib:$LD_LIBRARY_PATH
../configure --prefix=/home/username/gcc-7 --enable-languages=c,c++ --with-gmp=/home/username/gcc-7 --with-mpfr=/home/username/gcc-7 --with-mpc=/home/username/gcc-7 --with-isl=/home/username/gcc-7
make -j4
make install
Использовать так:
export CC=/home/username/gcc-7/bin/gcc
export CXX=/home/username/gcc-7/bin/g++