Как мне скомпилировать и запустить GCC 4.9.x?
Я использую Debian Wheezy и хотел обновить GCC 4.7.2 до GCC 4.9.0.
В соответствии с этими инструкциями я установил libgmp-dev
, libmpfr-dev
а также libmpc-dev
(мой менеджер пакетов дал мне версии 2:5.0.5+dfsg-2, 3.1.0-5 и 0.9-4 соответственно) и выполнил следующее для компиляции gcc (обратите внимание, что в моем случае это было 4.9.0 вместо 4.6.2):
tar xzf gcc-4.6.2.tar.gz
cd gcc-4.6.2
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-4.6.2/configure --prefix=$HOME/gcc-4.6.2
make
make install
Теперь у меня есть objdir
каталог, полный вещей, но где g++, и где я должен поместить этот каталог?
Я думаю, я должен переместить его в usr/local
и добавить что-то в мой PATH
переменная, но я не знаю, что именно, и как убедиться, что он ищется перед моей старой установкой gcc.
1 ответ
После выполнения этих команд (обратите внимание на --prefix
возможность настройки)
$PWD/../gcc-4.9.0/configure --prefix=$HOME/gcc-4.9.0
make install
новый gcc будет установлен в $HOME/gcc-4.9.0
каталог (там должны быть такие подкаталоги, как bin
, lib
, share
внутри него).
Полный путь к gcc
будет $HOME/gcc-4.9.0/bin/gcc
, а также g++
(который является символической ссылкой на gcc
) будет здесь: $HOME/gcc-4.9.0/bin/g++
,
Там не может быть никакого отдельного g++
в objdir потому что gcc
драйвер компилятора реализует драйверы для нескольких языков; режим (C или C++) выбирается на основе argv[0]
(имя двоичного файла, который использовался для запуска драйвера: gcc
или же g++
; этот режим также влияет на флаги связывания) и на расширения исходного файла (gcc
принимает как программы на C, так и C++ в качестве входных данных для компиляции в объектные файлы). Так, g++
может быть сгенерирован как символическая ссылка make install
и место для хранения сгенерированной символической ссылки $prefix/bin
,
После сборки GCC и установки его в $HOME/gcc-4.9.0
каталог, вы можете использовать его; но система gcc по умолчанию не будет обновлена. Обновление дистрибутивного gcc должно быть сделано через дистрибутивные инструменты (apt
, dpkg-build
, так далее). Текущая предустановленная версия общесистемного gcc для Wheezy: 4.7.2, 4.8.2 для Jessie and Sid и 4.9-2 для "Experimental".