web-dev-qa-db-fra.com

Installer g ++ 7.0.1 sur Debian 8.7

J'essaie depuis un certain temps d'installer g ++ 7 sur ma machine Debian. J'ai pu l'installer assez facilement sur mon mac (car homebrew avait une formule pour cela). Cependant, je n'arrive pas à trouver le moyen de l'installer sous Linux.

Cet individu avait un thread sur l'installation de g ++ 4.9, et le changement de l'adresse URL qu'il m'a donnée m'a conduit vers cette page , qui semble aller dans la bonne direction ... Mais j'imagine que l'installer de cette façon pourrait conduire à quelques problèmes potentiels sur la route lorsque je souhaite mettre à jour ces paquets.

Y a-t-il une source qui me manque? Ou y a-t-il un endroit où je peux télécharger et compiler tout ce dont j'ai besoin pour le faire fonctionner?

Merci de votre aide.

Données utiles:
Mon noyau est x86_64 Linux 3.16.0-4-AMD64.

Edit: Après avoir suivi les conseils de Dietrich, je rencontre maintenant une nouvelle erreur:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gcc-7 : Depends: cpp-7 (= 7-20170316-1) but it is not going to be installed
         Depends: libcc1-0 (>= 7-20170316-1) but it is not going to be installed
         Depends: binutils (>= 2.28) but 2.25-5+deb8u1 is to be installed
         Depends: libgcc-7-dev (= 7-20170316-1) but it is not going to be installed
         Depends: libisl15 (>= 0.15) but it is not installable
         Depends: libmpfr4 (>= 3.1.3) but 3.1.2-2 is to be installed
         Depends: libstdc++6 (>= 5) but 4.9.2-10 is to be installed
E: Unable to correct problems, you have held broken packages.

Voici comment mon sources.list est configuré:

#------------------------------------------------------------------------------#
#                   OFFICIAL DEBIAN REPOS                    
#------------------------------------------------------------------------------#

###### Debian Main Repos
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free 
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free 

###### Debian Update Repos
deb http://security.debian.org/ jessie/updates main contrib non-free 
deb http://ftp.us.debian.org/debian/ jessie-proposed-updates main contrib non-free 
deb-src http://security.debian.org/ jessie/updates main contrib non-free 
deb-src http://ftp.us.debian.org/debian/ jessie-proposed-updates main contrib non-free 

###### For ffmpeg
deb http://www.deb-multimedia.org jessie main non-free

###### For gcc-7 (Experimental)
deb http://httpredir.debian.org/debian experimental main

Comme vous l'avez dit, j'imagine que le fait que je sois sur Debian stable pose problème. Que devrais-je faire pour corriger cette erreur tout en restant stable?

Edit 2: OK, alors j'ai découvert cette dernière erreur. Je devais simplement ajouter passer à travers chaque dépendance qui posait problème et l'installer à l'aide d'apt-get install-t testing. Merci à tous ceux qui ont répondu. Vous avez tous été très utile.

4
Robert D

Le noyau n'est pas pertinent.

GCC 7 n'a pas encore été publié, comme vous pouvez le constater dans les notes de version de GCC 7 :

Clause de non-responsabilité: GCC 7 n'a pas encore été publié. Ce document est donc en cours d'élaboration.

Vous voudrez peut-être apprendre en quoi différentes distributions Linux sont différentes. En particulier, qu'est-ce qu'une distribution évolutive , et comment fonctionne les versions de Debian . Dans une distribution évolutive, tous les packages sont mis à jour en permanence vers les versions les plus récentes. Debian 8.7 (Jessie/stable) est not une distribution glissante. Les versions des packages sont gelées et mises à jour uniquement lorsque cela est nécessaire pour une stabilité accrue. La dernière version de GCC sur Debian 8.7 est GCC 4.9.

Debian 9.0 (Stretch/testing) est une version continue, au moins jusqu'à ce qu'elle soit gelée. Si vous basculez votre ordinateur sur Stretch, vous obtiendrez GCC 6.3.

Si vous avez besoin de quelque chose de plus récent, vous pouvez passer à Sid (unstable) ou épingler des paquets à partir de Sid.

Cependant, GCC 7 est uniquement disponible à titre expérimental car il n’a pas encore été publié. Vous pouvez installer un seul paquet d’expérimental si vous le souhaitez, voir Debian Experimental pour des instructions.

Comment

Ajouter à votre /etc/apt/sources.list

https://wiki.debian.org/DebianExperimental

Ensuite

apt-get update
apt-get -t experimental install gcc-7
4
Dietrich Epp

Vous pouvez trouver similaire dans les pages Unix de Stack Overflow Pour installer le dernier g ++ de testing sur debian, procédez comme suit: Ajoutez le référentiel de test debian à vos sources apt en créant un fichier sur/etc/dossier apt/sources.list.d contenant la ligne 

deb http://ftp.us.debian.org/debian testing main contrib non-free

Indiquez à debian d'utiliser des sources de test sur certains paquets en créant un fichier sur /etc/apt/preferences.d contenant:

Package: *
Pin: release a=testing
Pin-Priority: 100

Vous devez nommer le fichier quelque chose comme préférences ou testingpref, etc. Si vous avez un fichier de préférences, vous pouvez l'ajouter ici. Retirez le fichier .unused ou any. dans le nom du fichier.

Mise à jour de la base de données: 

Sudo apt-get update

Installez g ++: 

Sudo apt-get install -t testing g++

Cela vous donnera la version la plus récente de g ++ dans le référentiel. Ainsi, il recevra des mises à jour et plus facilement réversibles. Vous devez utiliser -t testing pour obtenir les versions les plus récentes. Vous pouvez avoir des problèmes de dépendance. Il peut s'agir d'expérimental au lieu de tester votre architecture. Voir https://packages.debian.org/search?keywords=g%2B%2B

Pour les packages expérimentaux (il y en a 7), ajoutez:

deb http://httpredir.debian.org/debian experimental main

dans /etc/apt/sources.list. Semblable à ce qui précède, épingler devrait dire a = expérimental au lieu de = test et enfin,

Sudo apt-get install -t experimental g++

Bonne chance.

6
Ryan

Vous devez télécharger le fichier g ++ 7 pour AMD64 à partir de cette page. Ensuite, en tant que root, exécutez la commande suivante.

dpkg -i file.deb
0
user7735434