Ako nainštalovať GCC na CentOS 6

CentOS nasleduje vývoj Red Hat Enterprise Linux (RHEL). RHEL sa snaží byť stabilnou serverovou platformou, čo znamená, že sa neponáhľa s najnovšími verziami každého softvérového balíka.

V čase písania tohto článku CentOS 6 oficiálne distribuuje GCC v4.4.7. Nedávno však bola vydaná GCC v5.1. Predtým bola dostupná verzia 4.9.2.

Oficiálny návrh na potrebu novšej verzie GCC je, že by ste mali zvážiť inú distribúciu UNIX, ktorá je viac zameraná na podporu najnovších verzií softvérových balíkov.

Našťastie môžete nainštalovať novšiu verziu GCC na CentOS, pričom staršia verzia zostane stále nainštalovaná. To sa líši od čisto používania oficiálne distribuovaného softvéru, ale niekedy môžete mať pocit, že nemáte na výber. Môžete naraziť na nejaké komplikácie; ak napríklad inštalujete moduly jadra tretích strán, musia byť skompilované pomocou rovnakej verzie GCC, ktorá sa používa na zostavenie vášho jadra.

Tento článok popisuje, ako nainštalovať CentOS 6 oficiálne podporovanú verziu GCC a ako nainštalovať novšiu verziu. Tento článok predpokladá, že máte čerstvo nainštalovaný CentOS 6 VPS, aj keď určite môžete postupovať podľa pokynov na existujúcom VPS.

Nainštalujte oficiálne podporovanú (staršiu) verziu GCC

Aj keď chcete nainštalovať novšiu verziu GCC zo zdroja, GCC samotné je napísané v C++. Preto musíte najprv nainštalovať starší kompilátor C++.

  1. Prihláste sa do svojho VPS, buď kliknutím na „Zobraziť konzolu“ v ovládacom paneli Vultr, alebo pomocou SSH, ak ste to nastavili.

    (a) Prihláste sa ako root.

    (b) Vytvorte si vlastný používateľský účet a zadajte mu heslo.

    adduser <username>
    passwd <username>
    

    (c) Umožnite svojmu používateľskému účtu vykonávať príkazy s oprávneniami root prostredníctvom príkazu sudo.

    visudo
        After the line "root   ALL=(ALL)   ALL"
        Add the line "<username>   ALL=(ALL)   ALL"
        --- If you aren't familiar with vi, go to the line "root   ALL=(ALL)   ALL".
        ---   Hit "o" to create a new line after that line and enter insert mode.
        ---   Type "<username>   ALL=(ALL)   ALL".
        ---   Hit ESC.
        ---   Type "ZZ" to save.
    

    (d) Odhláste sa ako root a prihláste sa do svojho používateľského účtu.

  2. Nainštalujte balíky CentOS 6 GCC. Toto sa vás opýta, či chcete nainštalovať približne 11 balíkov kvôli závislostiam.

    sudo yum install gcc gcc-c++
    
  3. Skontrolujte nainštalované verzie a ukážte ich umiestnenie.

    gcc --version
        May say: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
    g++ --version
        May say: g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
    which gcc
        /usr/bin/gcc
    which g++
        /usr/bin/g++
    

Nainštalujte novšiu verziu GCC zo zdroja

Ak chcete iba oficiálne podporovanú verziu GCC CentOS, všetko je pripravené. Ak potrebujete novšiu verziu GCC, pokračujte.

  1. DÔLEŽITÉ! Najprv vykonajte kroky uvedené vyššie a nainštalujte staršiu binárnu verziu GCC.

  2. Nainštalujte ďalšie potrebné balíky. Toto sa vás opýta, či chcete nainštalovať približne 41 balíkov.

    sudo yum install svn texinfo-tex flex zip libgcc.i686 glibc-devel.i686
    
  3. Rozhodnite sa, ktorú verziu GCC chcete nainštalovať. Tento príkaz vám zobrazí „značky“ pre každú z dostupných verzií.

    svn ls svn://gcc.gnu.org/svn/gcc/tags | grep gcc | grep release
        gcc-2_95-release/
        ...
        gcc-4_9_2_release/
        gcc-5_1_0_release/
    
  4. Získajte zdroj požadovanej verzie GCC. Toto pobeží niekoľko minút. Zvyšok tohto článku je napísaný pre gcc-5_1_0_release/a stiahne zdroje do ~/sourceInstallations/gcc_5_1_0_release/.

    mkdir ~/sourceInstallations
    cd ~/sourceInstallations
    svn co svn://gcc.gnu.org/svn/gcc/tags/gcc_5_1_0_release/
    
  5. Získajte zdroj ďalších predpokladov. Pomocou verzie 5.1.0 to stiahne zdroje a pridá ich do zostavy GCC pre MPFR v2.4.2, GMP 4.3.2 a MPC 0.8.1.

    cd gcc_5_1_0_release/
    ./contrib/download_prerequisites
        --- Important, run this as shown, from the gcc_5_1_0_release directory.
        ---   Do not cd to the contrib directory
    
  6. Ak má váš VPS iba 768 MB pamäte, v ďalšom kroku vám bude chýbať pamäť. Ak máte 1 GB pamäte, môžete byť v poriadku, ale tento krok neuškodí. Ak máte 2 GB pamäte alebo viac, môžete tento krok preskočiť. Tento krok pridá 500 MB virtuálnej pamäte pomocou odkladacieho súboru.

    SWAP=/tmp/swap
    dd if=/dev/zero of=$SWAP bs=1M count=500
    mkswap $SWAP
    sudo swapon $SWAP
    
  7. Zostavte GCC. Toto bude trvať hodiny. Ak sa to dokončí správne, posledný riadok, ktorý uvidíte, bude znamenať „úspech“. Je normálne, že sa niektoré chybne vyzerajúce správy rýchlo posúvajú, pokiaľ sa zostava dokončí a ozve sa „úspech“. Vždy je dobré vytvoriť veci v inom adresári, ako je zdrojový adresár. Dokumentácia GCC uvádza, že by ste nemali používať adresár zostavenia, ktorý je podadresárom zdrojového adresára.

    cd ..
    mkdir gcc_5_1_0_release_build/
    cd gcc_5_1_0_release_build/
    ../gcc_5_1_0_release/configure && make && sudo make install && echo "success"
    --- If your VPS has multiple cores, you can speed up the build by changing the middle part
    ---   of this line from "&& make &&" to "&& make -j <number of cores> &&".
    --- You can see the number of cores your VPS has by running "nproc"
    
  8. Ak ste v kroku 6 nastavili odkladací súbor, odstráňte ho. Bez vykonania ďalšej konfigurácie sa po reštarte nepoužije ako odkladací súbor a iba zaberie miesto na pevnom disku vo vašom VPS.

    sudo swapoff $SWAP
    rm /tmp/swap
    
  9. Skontrolujte nainštalované verzie a pozrite si ich umiestnenie.

    hash -r
        (Makes your login "forget" about the previously seen locations of gcc and g++)
    gcc --version
        May say: gcc (GCC) 5.1.0
    g++ --version
        May say: g++ (GCC) 5.1.0
    which gcc
        /usr/local/bin/gcc
    which g++
        /usr/local/bin/g++
    
  10. Pridajte nové knižnice do ld (GNU linker).

    echo "/usr/local/lib64" > usrLocalLib64.conf
    sudo mv usrLocalLib64.conf /etc/ld.so.conf.d/
    sudo ldconfig
        --- This may say a file or two "is not an ELF file - it has the wrong magic bytes at the start."
        --- You may ignore this message.  It is silent about the work it successfully completed.
    
  11. Voliteľne vytvorte program ahoj svet.

    mkdir ~/code
    cd ~/code
    Create a file main.cpp that says:
        #include <iostream>
        using namespace std;
        int main() {
            cout << "Hello world!" << endl;
            return 0;
        }
    --- One way to create this file is to run "vi main.cpp", hitting "i" to enter insert mode,
    ---   typing the above file, hitting ESC, and hitting "ZZ" to save.
    g++ main.cpp -o main
    ./main
        Hello World!
    
  12. Voliteľne získajte miesto na pevnom disku. Váš ~/sourceInstallationspriečinok bude zaberať približne 8,0 GB. Pravdepodobne je rozumné ponechať si priečinky, pretože existujú voliteľné možnosti konfigurácie, ktoré možno budete musieť niekedy v budúcnosti použiť, a bolo by rýchlejšie, keby ste toho už mali veľa hotových. Proces zostavovania tiež vytvára protokoly, ktoré môžete neskôr skontrolovať a pracovať z nich, ak sa niečo pokazí. Ale po spustení sudo make installskôr váš nainštalovaný GCC nezávisí od ničoho v tomto adresári a priestor môže byť drahý, takže môžete urobiť tento krok a získať späť približne 8,0 GB.

    cd ~/
    rm -rf sourceInstallations
    --- Again, if you can spare the space, you may someday be happy to have left it there.
    

Teraz máte váš CentOS oficiálne podporovaný gcca g++stále je v /usr/bin/, váš CentOS oficiálne podporuje 32-bitové knižnice v /lib, váš CentOS oficiálne podporuje 64-bitové knižnice v /lib64a váš CentOS oficiálne podporuje zahŕňajú súbory v /usr/include.

Vaše novšie gcca g++sú v /usr/local/bin, novšie 32-bitové knižnice v /usr/local/lib, vaše novšie 64-bitové knižnice v /usr/local/lib64a vaše novšie zahrnuté súbory v /usr/local/include.

Zanechať komentár

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac