Как мне скомпилировать и запустить 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".

Другие вопросы по тегам