web-dev-qa-db-fra.com

Installez gcc 7.1 sur Xubuntu 16.04 et faites-le par défaut

Je souhaite installer le dernier package gcc(7.1) sur Xubuntu 16.04.4. J'ai installé avec succès le paquet en suivant les instructions données ici de GAD3R.

Le problème est que quand je cours:

gcc --version

Je reçois la sortie suivante:

gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

ce qui signifie que mon système d'exploitation ne voit pas le gccnouvellement installé comme compilateur par défaut. Comment puis-je y arriver?

De plus, si vous avez une source plus fiable que celle présentée dans le lien, n'hésitez pas à l'ajouter.

Cordialement

4
BobMorane

Autant que je sache, le PPA toochain-r que vous avez utilisé est la source recommandée pour les versions alternatives de GCC. Pour en faire la valeur par défaut, vous pouvez utiliser le mécanisme update-alternatives comme expliqué dans le précédent Q & A.

Comment utiliser plusieurs instances de gcc?

ou par liaison directe comme décrit dans

Téléchargé g ++ 4.8 à partir du PPA mais ne peut pas le définir par défaut?


Bien qu'en pratique, cela ne soit souvent pas nécessaire, car la plupart des systèmes de construction vous permettent de spécifier un compilateur particulier, en utilisant des arguments de ligne de commande ou des variables d'environnement, par exemple.

CC=/usr/bin/gcc-7 ./configure

ou

make CC=/usr/bin/gcc-7

ou

cmake -D CMAKE_C_COMPILER=/usr/bin/gcc-7 ..

- voir par exemple Variables utiles .

3
steeldriver

Vous pouvez utiliser pdate-alternatives pour le rendre par défaut:

update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 60

Par exemple, ce fichier Dockerfile vous donne Ubuntu 16.04 avec gcc 7:

FROM ubuntu:16.04

RUN \
  apt-get update && \
  apt-get install -y software-properties-common && \
  add-apt-repository ppa:ubuntu-toolchain-r/test && \
  apt-get update && \
  apt-get install -y gcc-7 g++-7 && \
  update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 60 && \
  update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60
CMD /bin/bash
2
Philipp Claßen