Я использую Ubuntu 10.04, и текущая версия GCC, установленного в моей системе, 4.4. Для некоторой определенной потребности я хочу установить GCC 3.2.
Я начал с этих шагов:
$mkdir gcc-build
$cd gcc-build
$tar zxvf gcc-3.2.tar.gz
$mkdir -p gcc-bin
$mkdir -p usr/local
$cd gcc-bin
$../gcc-build/gcc-3.2/configure --prefix=../gcc-build/usr/local
Это настроило успешно. Но когда я использовал ниже команды
$make bootstrap
Я получил ошибку
../gcc-build/gcc-3.2/gcc/read-rtl.c:653: error: lvalue required as increment operand
make[1]: *** [read-rtl.o] Error 1
make[1]: Leaving directory `../gcc-build/gcc-bin/gcc'
make: *** [all-gcc] Error 2
Кто-либо помогите мне разрешить эту ошибку. Или предложите некоторые альтернативные пути.Спасибо.
Однажды я столкнулся с подобной проблемой. У меня был этот модуль 'r8169', который не принимал пакеты от моего проводного соединения. Затем мне пришлось собрать предыдущий модуль 'r8168' из исходного кода. Это дало мне такие же ошибки, как ваша.
Возможное решение - перейти в режим суперпользователя. Введите
sudo su
Затем введите свой пароль. Консоль покажет вам «#» вместо «$» для написания команд. Затем попробуйте свои команды снова.
#mkdir gcc-build
#cd gcc-build
#tar zxvf gcc-3.2.tar.gz
#mkdir -p gcc-bin
#mkdir -p usr/local
#cd gcc-bin
#../gcc-build/gcc-3.2/configure --prefix=../gcc-build/usr/local
# make bootstrap
(и любые другие команды, если они остались). Надеюсь, это должно сработать.
После нескольких испытаний я нашел одно решение.
Я добавил зеркала ниже в /etc/apt/sources.list
deb http://snapshot.debian.org/archive/debian/20070730T000000Z/ lenny main
deb-src http://snapshot.debian.org/archive/debian/20070730T000000Z/ lenny main
deb http://snapshot.debian.org/archive/debian-security/20070730T000000Z/ lenny/updates main
deb-src http://snapshot.debian.org/archive/debian-security/20070730T000000Z/ lenny/updates main
С этими зеркалами я могу установить GCC 3.3 (но не GCC 3.2), используя
$sudo apt-get install g++-3.3
Не не забудьте выполнить $sudo apt-get update
перед вышеприведенной командой.
$gcc-3.3 input_file
, потому что в противном случае, если вы введете $gcc input_file
, он будет использовать GCC по умолчанию (GCC 4.4 в моем случае) для компиляции программы , Мы можем изменить способ использования желаемой версии, просто создав жесткую ссылку на версию, которую вы хотите пометить для команды gcc
. Мы можем сделать следующее
$cd /usr/bin
$sudo ln gcc-3.3 gcc
Так что теперь всякий раз, когда вы набираете $gcc input_file
, он будет использовать желаемую версию gcc для компиляции программы.