Ako nainštalovať GCC na CentOS 6

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.


Install Plesk on CentOS 7

Install Plesk on CentOS 7

Using a Different System? Plesk is a proprietary web host control panel that allows users to administer their personal and/or clients websites, databases

Ako nainštalovať Squid Proxy na CentOS

Ako nainštalovať Squid Proxy na CentOS

Squid je populárny bezplatný linuxový program, ktorý vám umožňuje vytvoriť webový proxy server na presmerovanie. V tejto príručke uvidíte, ako nainštalovať Squid na CentOS, aby vás zmenil

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, ktorého cieľom je byť oveľa menej náročný na zdroje. Je ľahký, odtiaľ jeho názov, a jeho použitie je celkom jednoduché. Installin

Konfigurácia statickej siete a IPv6 na CentOS 7

Konfigurácia statickej siete a IPv6 na CentOS 7

VULTR nedávno vykonal zmeny na ich konci a všetko by teraz malo fungovať dobre po vybalení so zapnutým NetworkManagerom. Ak chcete deaktivovať

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Icinga2 je výkonný monitorovací systém a pri použití v modeli master-client môže nahradiť potrebu monitorovacích kontrol založených na NRPE. Hlavný klient

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Ako nainštalovať Microweber na CentOS 7

Ako nainštalovať Microweber na CentOS 7

Používate iný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je umiestnený na GitHub. Tento návod vám to ukáže

Ako nainštalovať Mattermost 4.1 na CentOS 7

Ako nainštalovať Mattermost 4.1 na CentOS 7

Používate iný systém? Mattermost je open source, samostatne hosťovaná alternatíva k službe posielania správ Slack SAAS. Inými slovami, s Mattermostom môžete cca

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Čo budete potrebovať Vultr VPS s aspoň 1 GB RAM. Prístup SSH (s oprávneniami root/administrátor). Krok 1: Inštalácia BungeeCord Najprv veci

Umožňuje šifrovanie na Plesku

Umožňuje šifrovanie na Plesku

Ovládací panel Plesk obsahuje veľmi peknú integráciu pre Lets Encrypt. Lets Encrypt je jedným z mála poskytovateľov SSL, ktorí rozdávajú kompletné certifikáty

Umožňuje šifrovanie na cPanel

Umožňuje šifrovanie na cPanel

Lets Encrypt je certifikačná autorita, ktorá sa venuje bezplatnému poskytovaniu certifikátov SSL. cPanel vytvoril úhľadnú integráciu, takže vy a váš klient

Ako nainštalovať Concrete5 na CentOS 7

Ako nainštalovať Concrete5 na CentOS 7

Používate iný systém? Concrete5 je open source CMS, ktorý ponúka mnoho charakteristických a užitočných funkcií, ktoré pomáhajú redaktorom jednoducho vytvárať obsah

Ako nainštalovať revíznu tabuľu na CentOS 7

Ako nainštalovať revíznu tabuľu na CentOS 7

Používate iný systém? Review Board je bezplatný a otvorený zdrojový nástroj na kontrolu zdrojového kódu, dokumentácie, obrázkov a mnohých ďalších. Je to webový softvér

Nastavte overenie HTTP pomocou Nginx na CentOS 7

Nastavte overenie HTTP pomocou Nginx na CentOS 7

V tejto príručke sa dozviete, ako nastaviť HTTP autentifikáciu pre webový server Nginx spustený na CentOS 7. Požiadavky Na začiatok budete potrebovať

Ako nainštalovať YOURLS na CentOS 7

Ako nainštalovať YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je open source aplikácia na skrátenie adresy URL a analýzu údajov. V tomto článku sa budeme zaoberať procesom inštalácie

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Používate iný systém? Úvod ArangoDB je open source databáza NoSQL s flexibilným dátovým modelom pre dokumenty, grafy a hodnoty kľúča. to je

Použitie Etckeeper na kontrolu verzií /etc

Použitie Etckeeper na kontrolu verzií /etc

Úvod Adresár /etc/ hrá rozhodujúcu úlohu v spôsobe fungovania systému Linux. Dôvodom je skutočnosť, že takmer každá konfigurácia systému

Prečo by ste mali používať SSHFS? Ako pripojiť vzdialený súborový systém s SSHFS na CentOS 6

Prečo by ste mali používať SSHFS? Ako pripojiť vzdialený súborový systém s SSHFS na CentOS 6

Mnoho systémových administrátorov spravuje veľké množstvo serverov. Keď je potrebné pristupovať k súborom cez rôzne servery, prihlásenie do každého z nich samostatne ca

Nastavenie servera Half Life 2 na CentOS 6

Nastavenie servera Half Life 2 na CentOS 6

Tento tutoriál sa bude zaoberať procesom inštalácie herného servera Half Life 2 na systém CentOS 6. Krok 1: Inštalácia predpokladov Aby ste mohli nastaviť ou

Ako nainštalovať Laravel GitScrum na CentOS 7

Ako nainštalovať Laravel GitScrum na CentOS 7

Laravel GitScrum alebo GitScrum je nástroj na zvýšenie produktivity s otvoreným zdrojom určený na pomoc vývojovým tímom implementovať metodiku Scrum podobným spôsobom.

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.

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.

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.

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