112 votes

Comment installer GCC morceau par morceau avec GMP, MPFR, MPC, ELF, sans bibliothèques partagées ?

Comment installer GCC (the GNU Compiler Collection) morceau par morceau, en utilisant la version actuelle,
en utilisant les bonnes versions des dépendances, en n'utilisant pas de gestionnaire de paquets (comme yum, rpm, apt, dpkg) et en n'utilisant pas de bibliothèques partagées ?

Les développeurs typiques voudront probablement installer GCC de la manière habituelle, en utilisant votre gestionnaire de paquets (yum, rpm, apt, dpkg, port, brew, etc.) ou en suivant les instructions ici ( http://gcc.gnu.org/wiki/InstallingGCC ).

Ma question est de savoir comment installer GCC morceau par morceau, sans bibliothèques partagées.

  • Je veux un GCC totalement indépendant qui peut être déplacé sur mon système sans utiliser aucune bibliothèque partagée, et sans créer aucune bibliothèque partagée.
  • C'est ce que GCC appelle "la méthode difficile" et elle n'est pas recommandée pour les utilisateurs habituels.

GCC dépend de :

  • GMP : Bibliothèque arithmétique à précision multiple de GNU (GNU Multiple Precision Arithmetic Library)
  • MPFR : Bibliothèque GNU d'arrondi en virgule flottante à précision multiple.
  • MPC : Bibliothèque GNU en C à précision multiple
  • ELF : Bibliothèque au format exécutable et lisible
  • PPL : Parma Polyhedra Library (facultatif, pour des optimisations de la mémoire)

1voto

Abhimanu Kumar Points 700

J'ai suivi la réponse la plus acceptée par joelparkerhenderson. C'est la meilleure réponse que j'ai pu trouver pour une installation sur un système *NIX via Internet.

Pour la postérité, je tiens à ajouter que si vous obtenez une erreur du type "erreur d'installation : ne peut pas calculer le suffixe des fichiers objets : ne peut pas compiler"

puis mettez à jour votre LD_LIBRBARY_PATH avec /tmp/gcc/lib (Voir la réponse complète de joelparkerhenderson pour le contexte)

/tmp/gcc/lib contient tous les fichiers so mpfr/mpc/gmp nécessaires et l'éditeur de liens en cours d'exécution ne peut pas les trouver si vous ne les ajoutez pas à LD_LIBRARY_PATH. N'oubliez pas non plus d'exporter LD_LIBRARY_PATH ;). Plus de contexte ici : https://gcc.gnu.org/wiki/FAQ#configure_suffix

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X