Я получаю ошибки начальной загрузки при попытке установить GCC и могу использовать некоторую помощь. Я пытаюсь скомпилировать GCC в своем домашнем каталоге в общей системе (кластер). Кластер имеет GCC 4.4.3, который я использую для начальной загрузки компиляции. Я написал этот небольшой скрипт, чтобы показать, что я делаю, и помочь в отладке:
# Installation parameters
gccver=4.8.0
gmpver=5.1.1
mpcver=1.0.1
mpfrver=3.1.2
prefix=$HOME/local
langs=c,c++
# Download source
wget ftp://gnu.mirror.iweb.com/gnu/gcc/gcc-${gccver}/gcc-${gccver}.tar.gz
wget ftp://ftp.gnu.org/gnu/gmp/gmp-${gmpver}.tar.bz2
wget ftp://ftp.gnu.org/gnu/mpc/mpc-${mpcver}.tar.gz
wget ftp://ftp.gnu.org/gnu/mpfr/mpfr-${mpfrver}.tar.gz
# Unpack source
tar -xzvf gcc-${gccver}.tar.gz
tar -xjvf gmp-${gmpver}.tar.bz2
tar -xzvf mpc-${mpcver}.tar.gz
tar -xzvf mpfr-${mpfrver}.tar.gz
# Move dependency source directories into gcc source directory
mv gmp-${gmpver} gcc-${gccver}/gmp
mv mpc-${mpcver} gcc-${gccver}/mpc
mv mpfr-${mpfrver} gcc-${gccver}/mpfr
# create a build directory and change to it
mkdir objdir
pushd objdir
# configure, make, check, and install gcc:
../gcc-${gccver}/configure --prefix=${prefix} --enable-languages=${langs}
make -j 16
make install
# return to the original directory
popd
Выше приведен сбой во время «make» с ошибкой: «Ошибка сравнения Bootstrap!"Я загрузил последние несколько страниц вывода в виде error.txt, а также config.log со стадии настройки. Я пробовал:
- работает
make distclean
из objdir и повторно запускает конфигурацию и make. - удаление
-j 16
изmake
. - используя абсолютный путь при вызове configure.
- использование сценария
contrib/download_prerequisites
для загрузки mpfr-2.4.2, gmp-4.3.2 и mpc-0.8.1 вместо более новых версий, указанных выше. - установка переменной среды PWDCMD для команды pwd с поддержкой автомонтера (pawd).
- начальная загрузка с другой версией GCC (3.4.6).
- начальная загрузка с ICC 12.0.0 через
export CC=icc
иexport CXX=icpc
.
Я также попытался опубликовать этот вопрос в списке рассылки gcc; вот где я получил предложение (2) выше.
Есть идеи, почему эта сборка не работает?