У меня Ubuntu 10.04 32-bit с установленным на нем gcc 4.4.3
. Я хочу обновить его до gcc/g++ 4.7
(я ищу поддержку C ++ 0x)
Как обновить с помощью Ubuntu Package Manager:
apt-get upgrade/install ??
В качестве второго варианта я скачал последнюю версию gcc файл снимка из:
http://gcc.cybermirror.org/snapshots/LATEST-4.7/gcc-4.7-20110709.tar.bz2
Будет ли
./configure
make
make install
собирать этот пакет и устанавливать его из исходного кода?
Добавьте тестовый репозиторий ppa набора инструментов, затем выполните apt-get update и apt-get dist-upgrade
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-4.7 c++-4.7
Это доступно только в 12.04 - более старые версии Ubuntu не может быть обновлен до этой же версии с помощью этого метода.
См. Здесь для получения дополнительной информации о PPA
https://help.launchpad.net/Packaging/PPA
Используйте следующую команду для установки add-apt-repository :
apt-get install python-software-properties
Затем добавьте тестовый репозиторий ppa tooclain , как описано за 12,04 LTS .
Как установить gcc 4.8 на Ubuntu 10.04:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update; sudo apt-get install gcc-4.8 g++-4.8
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
Проверьте gcc версию с:
g++ --version
Это работало над моей машиной. Источник: http://ubuntuhandbook.org/index.php/2013/08/install-gcc-4-8-via-ppa-in-ubuntu-12-04-13-04/
sudo apt-get install gcc-snapshot
Затем вызовите его с помощью:
/usr/lib/gcc-snapshot/bin/gcc
Для второй части вопроса ответ «да, вроде». Если вы действительно хотите сделать это (т.е. недостаточно установить пакет gcc-snapshot), то вам нужно установить зависимости:
sudo apt-get build-dep gcc-snapshot
Затем найдите правильный настроить параметры:
gcc -v
(и изменить путь установки и т. д.)
Затем построить так:
mkdir objdir
cd objdir
../gcc-src-dir/configure ......insert..options..here...
make
make install
apt-get update && apt-get -qq --no-install-recommends install build-essential git grep \
&& mkdir gcc-latest && cd gcc-latest \
&& git init && git remote add origin git://gcc.gnu.org/git/gcc.git \
&& git fetch --depth=1 --tags --no-recurse-submodules --quiet \
&& git tag -l | grep '^releases/gcc' | sort --version-sort --field-separator=- -k2 | tail -1 | xargs git checkout \
&& ./contrib/download_prerequisites && ./configure --disable-multilib && make -j 4 && make install
Приведенный выше сценарий делает следующее:
Кстати. Если вы запускаете этот скрипт на низком VPS с небольшим объемом оперативной памяти, не забудьте выделить достаточно места подкачки непосредственно перед запуском скрипта компиляции/установки gcc:
dd if=/dev/zero of=/swapfile bs=100M count=20 \
&& chmod 0600 /swapfile \
&& mkswap /swapfile \
&& swapon /swapfile \
&& echo "swapon /swapfile" >> /etc/rc.local