13 votos

Descargar g++ 4.8 de la PPA, pero no se puede establecer como predeterminado?

He descargado el g++ 4.8 en Ubuntu 12.10 haciendo:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-4.8

pero cuando hago:

sudo update-alternatives --config g++

para cambiar g++ versiones dice:

update-alternatives: error: no alternatives for g++.

Sin embargo si hago:

g++ --version

dice:

g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

¿Cómo puedo configurar mi g++ 4.8 instalación predeterminada g++?

16voto

Radu Rădeanu Puntos 62671

Necesitas dejar update-alternatives saber que tiene 2 compiladores de C++, crear un registro para cada uno, y, a continuación, configure el que usted desea utilizar. Esto se hace con el siguiente:

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6.3 60
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 40
sudo update-alternatives --config g++ 

Desde este punto en adelante, la única cosa necesaria cuando la conmutación de los compiladores es este comando:

sudo update-alternatives --config g++

Ver man update-alternatives para más información.

Fuente: Cómo utilizar varias instancias de gcc?

10voto

Braiam Puntos 31879

En primer lugar, usted tiene que descubrir dónde están tus 4.8 binarios de todas las herramientas:

$ which gcc-4.8
/usr/bin/gcc-4.8
$ which g++-4.8
/usr/bin/g++-4.8
$ ls /usr/bin/*-4.8
/usr/bin/cpp-4.8         /usr/bin/x86_64-linux-gnu-cpp-4.8
/usr/bin/g++-4.8         /usr/bin/x86_64-linux-gnu-g++-4.8
/usr/bin/gcc-4.8         /usr/bin/x86_64-linux-gnu-gcc-4.8
/usr/bin/gcc-ar-4.8      /usr/bin/x86_64-linux-gnu-gcc-ar-4.8
/usr/bin/gcc-nm-4.8      /usr/bin/x86_64-linux-gnu-gcc-nm-4.8
/usr/bin/gcc-ranlib-4.8  /usr/bin/x86_64-linux-gnu-gcc-ranlib-4.8
/usr/bin/gcov-4.8

Por lo tanto, tenemos todos nuestros archivos binarios, ahora vamos a ver si algunos de los enlaces simbólicos están disponibles para tal binarios:

$ cd /usr/bin
$ ls -l gcc* cpp g++
lrwxrwxrwx 1 root root      7 sep 18 14:02 cpp -> cpp-4.7
lrwxrwxrwx 1 root root      7 abr 22  2013 g++ -> g++-4.7
lrwxrwxrwx 1 root root      7 sep 18 14:02 gcc -> gcc-4.7

Como podemos ver, sólo cpp, g++ y gcc tiene enlaces simbólicos. Tenemos dos opciones aquí.

Crear enlace simbólico para

Vamos a reemplazar los enlaces simbólicos con la nuestra, la eliminación de los datos reales de la primera:

sudo rm /usr/bin/cpp /usr/bin/gcc /usr/bin/g++

Luego de la creación de nuestra

sudo ln -s /usr/bin/cpp-4.8 /usr/bin/cpp
sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.8 /usr/bin/g++

Para revertirlo utilizar los mismos comandos pero con 4.7 y 4.6 en lugar

sudo rm /usr/bin/cpp /usr/bin/gcc /usr/bin/g++
sudo ln -s /usr/bin/cpp-4.7 /usr/bin/cpp
sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.7 /usr/bin/g++

8voto

Anton K Puntos 141

Esta es la gran descripción y paso a paso las instrucciones de cómo crear y administrar el maestro y el esclavo (gcc y g++) alternativas.

Dentro de poco, es

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 
sudo update-alternatives --config gcc

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X