Installer g++ 7.0.1 sur Debian 8.7
J'ai essayé pendant un certain temps à installer g++ 7 sur ma machine Debian. J'ai été capable de l'installer très facilement sur mon mac (comme homebrew avait une formule pour ça). Cependant, je n'arrive pas à trouver un moyen de l'installer sur Linux.
Cette personne avait un thread sur l'installation de g++ 4.9, et de modifier l'url qu'il a donné m'a conduit sur cette page, qui semble être dans la bonne direction... Mais j'imagine que l'installation de cette manière peut entraîner quelques problèmes sur la route, quand je veux mettre à jour ces paquets.
Est-il une source qui me manque? Ou est-il peut-être un endroit où je peux le télécharger et compiler tout ce qu'il faut pour le remettre en marche?
Merci pour votre aide.
Utile De Données:
Mon noyau Linux x86_64 3.16.0-4-amd64.
Edit: Après de Dietrich conseils, je suis maintenant a rencontré un nouveau message d'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.
C'est la façon dont mes sources.la liste est mise en place:
#------------------------------------------------------------------------------#
# 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
Je devine que c'est, comme vous l'avez dit, un problème avec moi sur Debian stable? De quoi aurais-je besoin de faire pour corriger cette erreur, tout en restant stable?
Edit 2: Ok, j'ai compris que la dernière erreur. J'ai juste eu à ajouter de la traverser pour chaque individu de la dépendance qui a donné à mes ennuis et l'installer en utilisant apt-get install -t testing . Merci à tous ceux qui ont répondu. Vous avez tous été très utile.
- Pour la comparaison, je suis sous Debian 9.0 (Stretch), et je pouvais juste
apt install -t experimental gcc-7
sans avoir à installer les autres paquets manuellement. Je soupçonne que c'est juste parce que tous les autres paquets sont trop vieux sur Jessie à l'appui de GCC 7. - Vous pourriez être intéressé dans le paquet gcc-snapshot/instable.
Vous devez vous connecter pour publier un commentaire.
Le noyau n'est pas pertinent.
GCC 7 n'a pas encore été dévoilé, comme vous pouvez le voir dans la GCC 7 release notes:
Vous pouvez en apprendre davantage sur ce qui rend les différentes distributions Linux différentes. En particulier, ce qu'est un roulement de distribution est, et comment Les versions de Debian travail. Dans un roulement de distribution, tous les paquets continuellement mis à jour vers des versions plus récentes. Debian 8.7 (Jessie /stable) est pas un rouleau de distribution. Les paquets des versions sont gelés et la mise à jour uniquement lorsque cela est nécessaire, pour plus de stabilité. La dernière version de GCC sur Debian 8.7 GCC 4.9.
Debian 9.0 (Stretch /test) est un communiqué de roulement, au moins jusqu'à ce qu'il obtient gelé. Si vous allumez votre ordinateur pour Étirer, vous obtiendrez GCC 6.3.
Si vous avez besoin de quelque chose de plus récent, vous pouvez soit changer de Sid (unstable), ou pin des paquets de Sid.
Cependant, GCC 7 est disponible uniquement dans expérimentale parce qu'il n'a pas encore été dévoilé. Vous pouvez installer un package unique expérimentaux, si vous le souhaitez, voir Debian Experimental pour les instructions.
Howto
Ajouter à votre
/etc/apt/sources.list
Puis
Vous pouvez trouver de semblables dans le Débordement de la Pile Unix pages
Pour installer la dernière version de g++ à partir d'essais sur debian, procédez de la manière suivante:
Ajouter debian testing repo à vos sources apt par la création d'un fichier (avec le .liste d'extension) sur /etc/apt/sources.liste.d dossier contenant la ligne
Instruire debian à utiliser des tests de sources sur certains paquets en créant un fichier /etc/apt/preferences.d contenant les éléments suivants:
Vous devriez nom du fichier à quelque chose comme les préférences ou les testingpref,etc. Si vous avez un fichier de préférences, vous pouvez l'ajouter là. Supprimer la .inutilisés ou tout . dans le nom de fichier.
Mise à jour de la base de données:
Installer g++:
Cela vous donnera la plus récente version de g++ dans le repo. Ainsi, il va recevoir des mises à jour et plus facilement réversible. Vous devez utiliser -des tests t pour obtenir la version la plus récente.
Vous pouvez avoir des problèmes de dépendance. Il peut être expérimental, au lieu de test pour votre architecture. Voir https://packages.debian.org/search?keywords=g%2B%2B
Pour les paquets expérimentaux (7 est là) ajouter:
à /etc/apt/sources.liste . Comme ci-dessus.. épinglage convient de dire un=expérimentale au lieu de a=test et enfin,
Bonne chance.
De la page, vous devez télécharger le g++7 pour amd64 fichier deb. Ensuite, en tant que root, exécutez la commande suivante.