J'ai un serveur RHEL 6 avec gcc version 4.4.7. Je voulais mettre à jour la version gcc (je pense que la version actuelle est 4.8). La mise à jour Yum ne fonctionne pas. De plus, les réponses SO pour une question similaire sur CentOS ne fonctionnent pas. J'ai suivi les méthodes de la réponse acceptée, la sortie est "Erreur lors de l'obtention des données du référentiel pour testing-1.1-devtools-6, référentiel introuvable". Je ne sais pas non plus si je dois suivre les méthodes pour CentOs.
Quelqu'un at-il mis à jour gcc dans le serveur RHEL 6 x86_64?
Réponses:
La méthode la plus simple consiste de loin à utiliser une version binaire fournie via un référentiel YUM.
Une telle option serait d'utiliser le référentiel hop5.in. Plus précisément cette page: gcc - Divers compilateurs (C, C ++, Objective-C, Java, ...) . Ils fournissent 4.8.2 qui devrait fonctionner avec CentOS 6.3 ou 6.4. Vous voudrez peut-être faire une mise à jour avant:L'autre option serait d'utiliser le Developer Toolset , en particulier la version fournie par Scientific Linux.
En suivant les instructions d'installation, vous effectuerez essentiellement les 2 étapes suivantes:
ajouter des référentiels installer devtoolsetMise à jour # 1
Le référentiel hop5.in YUM semble avoir été supprimé, donc le seul recours est d'utiliser la méthode devtoolset décrite ci-dessus.
Des exemples supplémentaires pour l'installation via devtoolset sont mis en évidence dans ce GitHub Gist: Installation de gcc 4.8 et Linuxbrew sur CentOS 6 .
la source
http://ftp.scientificlinux.org/linux/scientific/5x/x86_64/RPM-GPG-KEYs/RPM-GPG-KEY-cern
. J'adore le fait que le site ne dispose pas de https. Bravo Scilinux. Après avoir téléchargé (répertoire tmp ou whever), importer avecrpm --import RPM-GPG-KEY-cern
et puis faireyum install.
devtoolset-2-gcc
(pour moi au moins) a installé une douzaine de packages et un téléchargement de 35 Mo, contre 280 packages et 575 Mo de téléchargement pouryum install devtoolset-2
.Red Hat Software Collections est fourni avec GCC 4.9, vous pouvez envisager d'activer ce canal.
la source
J'ai construit de nouvelles versions de gcc pour rhel6 pour plusieurs versions maintenant (depuis 4.7.x à 5.3.1).
Le processus est assez facile grâce aux versions de Jakub Jelinek fedora gcc de Redhat trouvées sur les koji
Prenez simplement le dernier rpm src pour la version dont vous avez besoin (par exemple 5.3.1 ).
Fondamentalement, vous commenceriez par déterminer les exigences de génération en émettant la
rpm -qpR src.rpm
recherche des exigences de version:Vient maintenant la partie fastidieuse - tout package qui a une version supérieure à celle fournie par yum fro votre distribution doit être téléchargé à partir de koji , et répéter récursivement le processus jusqu'à ce que toutes les exigences de dépendance soient remplies.
Je triche, btw.
Je reconditionne habituellement le rpm pour contenir un arbre de construction correct en utilisant la fonction gnu pour utiliser des exigences correctement placées et nommées, de sorte que gmp / mpc / mpfr / isl (cloog n'est plus requis) sont téléchargés et déplacés vers le chemin correct, et le nouveau (gonflé) tar est reconstruit dans un nouveau rpm src (avec des modifications mineures au fichier spec) sans aucune dépendance sur leurs versions packagées (rpm). Comme je ne connais personne utilisant ADA, je supprime simplement les parties relatives à gnat du fichier de spécifications, simplifiant davantage le processus de construction, me laissant avec seulement des binutils à craindre.
Gcc peut réellement construire avec des binutils plus anciens, donc si vous êtes pressé, éditez davantage le fichier de spécifications pour exiger la version de binutils déjà présente sur votre système. Cela se traduira par un gcc légèrement paralysé, mais surtout il fonctionnera assez bien.
Cela fonctionne assez bien la plupart du temps.
MISE À JOUR 1
La méthode la plus simple pour ouvrir un rpm src est probablement yum installer le rpm et accéder à tout sous ~ / rpmbuild, mais je préfère
Vous avez également le choix de définir un préfixe afin que ce rpm s'installe côte à côte sans casser le rpm de distribution (mais nécessite un changement de nom et quelques modifications des noms de packages internes). J'ajoute généralement un module d'environnement afin de pouvoir charger et décharger ce gcc comme requis (similaire au fonctionnement des collections) dans le cadre du rpm (donc j'ajoute une nouvelle dépendance).
Enfin, créez l'arborescence rpmbuild et placez les fichiers là où ils devraient aller et construisez:
MISE À JOUR 2
Normalement, il ne faut pas utiliser un système d'exploitation "serveur" pour le développement - c'est pourquoi vous avez fedora qui est déjà livré avec le dernier gcc. J'ai des exigences particulières, mais vous devriez vraiment envisager d'utiliser le bon outil pour la tâche - rhel / centos pour exécuter des applications de production, fedora pour développer ces applications, etc.
la source
Hé les gars, voici ce que j'ai fait (compiler à partir de zéro). Aucune infraction à une autre réponse, je suis sûr que cela fonctionne, mais GCC est particulièrement important pour la sécurité, je préfère donc compiler à partir de la source originale et officielle:
Source: http://realtechtalk.com/GCC_5_on_Centos_6_How_To_Install-1965-articles
la source
vous pouvez essayer gcc source buid.GCC requiert MPC, MPFR et GMP comme pré-requis.Pour GCC 4.8, les dépendances de version sont MPC 0.8 GMP 6.0 MPFR 2.4.2.Téléchargez les packages source et installez tous les packages sous / usr / lib .L'ordre d'installation est gmp, mpfr, mpc
la source