IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

comment peut on compiler une ancienne version de gcc par une autre plus récente ?


Sujet :

C

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 74
    Points : 53
    Points
    53
    Par défaut comment peut on compiler une ancienne version de gcc par une autre plus récente ?
    Salut tout le monde.
    Je veux compiler une version ancienne du compilateur gcc avec une autre adoptée par la distribution "lubuntu" que j'utilise, est ce que c'est possible d'abord ? si oui, comment puisse je le faire alors ?
    J'ai essayé de compiler gcc-4.5 par gcc-6.3 en poursuivant la documentation officielle, malgré l'installation de tous les outils nécessaires, l'installation ne marche plus jusqu'au bout.
    le but derièrre cette manipulation est de pouvoir installer un noyau ancien.
    merci pour vos clarifications

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour !

    A priori, rien n'empêche de le faire ! On peut rapprocher ça de la création d'un compilateur croisé, mais dont l'architecture cible ne serait rien d'autre... que l'architecture de l'ordinateur utilisé ! Il y a un très bon article là-dessus : How to build a GCC cross compiler.

    Personnellement, je pense que le plus propre est de garder les compilateurs dans le dossier "/opt/cross", qu'ils soient réellement croisés ou non. Après, bien sur... les erreurs, les problèmes de versions, de compatibilités, le tout empaqueté dans des messages d'erreurs pas forcément très explicites... mais il faut tout de même que vous donniez plus de détails !

  3. #3
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    Il ne faut pas oublier que le compilateur en lui-même ne sera jamais qu'une partie du problème

    Car, une fois que le compilateur aura généré le code exécutable de tout le bastringue, c'est l'éditeur de liens (ld, gold, autre) qui prendra le relais, ce qui implique que tu devras sans doute également compiler le paquet binutils correspondant à la version de Gcc que tu veux compiler (de préférence, il s'agira d'ailleurs de le faire deux fois : une première fois avec ton compilateur récent, une deuxième fois avec le compilateur ancien que la première compilation de binutils t'aura permis de générer)

    Les choses sont encore pire lorsque l'on parle de compiler le noyeau linux, parce que là, on part carrément sur des appels système, avec des modules ou des appels systèmes qui n'existaient pas à l'époque (et dont tu as peut-être besoin), voire, avec des fonction dont la signature aurait changé depuis.

    Si tu remontes "trop loin dans le temps" avec ta version de noyeau, tu cours donc un risque important de te retrouver avec une foule d'éléments qui ne fonctionneront plus. Cela peut aller d'une application "que tu n'utilises presque jamais" à ... ton serveur graphique, et donc, tu pourrais très bien te retrouver, pour le même prix, avec une installation "console only".

    La première question que j'ai envie de te poser est donc: pourquoi voudrais tu installer une ancienne version du noyeau sur ton système

    La deuxième (qui te donnerait une bonne raison de ne pas le faire) serait: ne pourrais tu pas envisager d'installer (dans une machine virtuelle) une distribution qui soit fournie avec la version du noyeau (et donc, selon toute vraissemblance, avec les différents outils dans les bonnes version)

    L'un dans l'autre, je crois sincèrement que cette solution serait de loin préférable
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. Réponses: 9
    Dernier message: 26/10/2016, 15h07
  2. Réponses: 4
    Dernier message: 19/11/2014, 16h44
  3. [.NET 2.0] Changer une ancienne version des rapports par une nouvelle
    Par onouiri dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 22/11/2006, 15h27
  4. Remplacer une BD maître par une ancienne version
    Par HYQST dans le forum Access
    Réponses: 3
    Dernier message: 19/05/2006, 14h25
  5. Emuler une ancienne version de Windows sur une plus récente.
    Par damien99 dans le forum Autres Logiciels
    Réponses: 10
    Dernier message: 21/03/2006, 09h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo