Comment créer manuellement une collection de compilateurs GNU à partir de zéro sur l'édition statique de linux mint?

J'utilise - disable-shared car je ne crée que du code statique
J'utilise - disable-shared car je ne crée que du code statique et je veux m'assurer de ne pas créer de code partagé.

Cette méthode va tout construire à partir de zéro. Il construit pièce par pièce et n'utilise pas de bibliothèques partagées. Cela signifie que le GCC sera portable et que vous pourrez transférer le dossier dans lequel il se trouve vers de nombreux systèmes Linux différents et créer des programmes GNU C/C++ dans le dossier. Essentiellement, cela signifie que vous allez construire un compilateur GNU C/C++ portable.

Pas

  1. 1
    Afin de terminer la construction de la collection de compilateurs gnu, nous aurons besoin des bibliothèques et packages suivants: GMP, MPFR, MPC, ELF et GCC.
  2. 2
    Placez les téléchargements dans un répertoire temporaire vous pouvez utiliser le répertoire de votre choix) par exemple, /home/ "votre_nom d'utilisateur"/gcc_archive
    • Construisez l'infrastructure dans un répertoire temporaire différent du répertoire de téléchargements ou de ses sous-répertoires: /tmp/gcc
    • Configurez l'infrastructure à l'aide de bibliothèques statiques comme celle-ci:
    • ./configure - disable-shared - enable-static - prefix=/tmp/gcc
    • L'indicateur - disable-shared peut valoir la peine d'être examiné de plus près en fonction de vos besoins.
    • J'utilise - disable-shared car je ne crée que du code statique et je veux m'assurer de ne pas créer de code partagé. Mon besoin est de déplacer facilement le GCC résultant autour de mes lecteurs, donc je veux tout le code statique, et je ne veux aucun code partagé. Si vous préférez le code partagé, omettez l'indicateur - disable-shared.
  3. 3
    Ouvrez un terminal et entrez la commande suivante:
    • Tapez/copiez/collez: mkdir gcc_archive
      • Téléchargez et placez tous les packages GMP, MPFR, MPC, ELF et GCC dans ce répertoire
    • Tapez/copiez/collez: sudo apt-get install binutils build-essential m4 autogen bison flex
      • Vous devrez ajouter ces packages afin de configurer un environnement de construction approprié. Vous devrez vous assurer que vous avez déjà un compilateur C/C++ installé afin de compiler le gcc
    • Tapez/copiez/collez: sudo apt-get install g++
    Vous devrez vous assurer qu'un compilateur C/C++ est déjà installé afin de compiler le gcc
    Vous devrez vous assurer qu'un compilateur C/C++ est déjà installé afin de compiler le gcc.
  4. 4
    Installer gmp - est la bibliothèque d'arithmétique à précision multiple GNU
    • Tapez/copiez/collez: cd gcc_archive
    • Tapez/copiez/collez: wget -c ftp://ftp.gnu.org/gnu/gmp/gmp-5,1.3.tar.bz2
    • Tapez/copiez/collez: chmod a+x gmp-5,1.3.tar.bz2
    • Tapez/copiez/collez: tar jxvf gmp-5,1.3.tar.bz2
    • Taper/copier/coller: cd gmp-5,1.1
    • Tapez/copiez/collez:./configure - disable-shared - enable-static - prefix=/tmp/gcc
    • Tapez/copiez/collez: make && make check && make install
    • Taper/copier/coller: cd..
  5. 5
    Install mpfr - Est la bibliothèque d'arrondi à virgule flottante multi-précision GNU. Cela dépend des BPF
    • Tapez/copiez/collez: wget -c
    • Taper/copier/coller: chmod a+x mpfr-3,1.2.tar.bz2
    • Taper/copier/coller: tar jxvf mpfr-3,1.2.tar.bz2
    • Taper/copier/coller: cd mpfr-3,1.2
    • Tapez/copiez/collez:./configure - disable-shared - enable-static - prefix=/tmp/gcc - with-gmp=/tmp/gcc
    • Tapez/copiez/collez: make && make check && make install
    • Taper/copier/coller: cd..
  6. 6
    Install mpc - Est-ce la bibliothèque C multi-précision GNU. Cela dépend des BPF et MPFR
    • Tapez/copiez/collez: wget -c
    • Tapez/copiez/collez: chmod a+x mpc-1,0.1.tar.gz
    • Tapez/copiez/collez: tar zxvf mpc-1,0.1.tar.gz
    • Taper/copier/coller: cd mpc-1,0.1
    • Tapez/copiez/collez:./configure - disable-shared - enable-static - prefix=/tmp/gcc - with-gmp=/tmp/gcc - with-mpfr=/tmp/gcc
    • Tapez/copiez/collez: make && make check && make install
    • Taper/copier/coller: cd..
  7. 7
    Installer ELF - signifie format exécutable et pouvant être lié. Cette bibliothèque prend et fournit une taille indépendante de l'architecture et un support endian
    • Tapez/copiez/collez: wget -c
    • Tapez/copiez/collez: chmod a+x libelf-0,8.13.tar.gz
    • Taper/copier/coller: tar zxvf libelf-0,8.13.tar.gz
    • Taper/copier/coller: cd libelf-0,8.13
    • Tapez/copiez/collez:./configure - disable-shared - enable-static - prefix=/tmp/gcc
    • Tapez/copiez/collez: make && make check && make install
    • Taper/copier/coller: cd..
  8. 8
    Installer gcc - La collection du compilateur GNU dépend-elle de GMP, MPFR, MPC et ELF
    Créer des programmes GNU C/C++ dans le dossier
    Cela signifie que le GCC sera portable et que vous pourrez transférer le dossier dans lequel il se trouve vers de nombreux systèmes Linux différents et créer des programmes GNU C/C++ dans le dossier.
  9. 9
    Remarques: compilez gcc dans un répertoire scratch sur le même point de montage. (Le construire dans /tmp déclencherait des problèmes d'hôte de compilation croisée)
    • Tapez/copiez/collez: mkdir -p gcc481_build
    • Tapez/copiez/collez: cd gcc481_build
    • Tapez/copiez/collez:../gcc-4,8.1/configure - disable-shared - disable-bootstrap - disable-libstdcxx-pch - enable-libgomp - enable-lto - enable-threads=posix - enable-tls - avec -fpmath=sse - prefix=/tmp/gcc - with-gmp=/tmp/gcc - with-mpfr=/tmp/gcc - with-mpc=/tmp/gcc - with-libelf=/tmp/gcc - with- fpmath=sse - disable-multilib - enable-languages=c,c++
    • Taper/copier/coller: make && make install
  10. 10
    Lorsque tout sera terminé, la construction du nouveau GNU GCC portable sera située dans /tmp/gcc, changez simplement dans votre répertoire /tmp et déplacez votre nouveau GNU GCC portable dans le répertoire /home/"votre_nom d'utilisateur"/.
    • Taper/copier/coller: cd /tmp
    • Tapez/copiez/collez: mv gcc /home/ votre_nom d'utilisateur /
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail