Kako namestiti GCC na CentOS 6

Kako namestiti GCC na CentOS 6

CentOS sledi razvoju sistema Red Hat Enterprise Linux (RHEL). RHEL si prizadeva biti stabilna strežniška platforma, kar pomeni, da ne hiti z vključitvijo najnovejših različic vsakega programskega paketa.

Od pisanja tega članka CentOS 6 uradno distribuira GCC v4.4.7. Vendar je bila pred kratkim izdana GCC v5.1. Pred tem je bila na voljo v4.9.2.

Uradni predlog, da potrebujete novejšo različico GCC, je, da razmislite o drugačni distribuciji UNIX, ki je bolj osredotočena na podporo najnovejšim različicam programskih paketov.

Na srečo lahko na CentOS namestite novejšo različico GCC, pri čemer je starejša različica še vedno nameščena. To odstopa od zgolj uporabe uradno distribuirane programske opreme, včasih pa se vam lahko zdi, da nimate izbire. Lahko naletite na nekaj zapletov; na primer, če nameščate module jedra tretjih oseb, jih morate prevesti z uporabo iste različice GCC, ki se uporablja za gradnjo vašega jedra.

Ta članek opisuje, kako namestiti uradno podprto različico GCC za CentOS 6 in kako namestiti tudi novejšo različico. Ta članek predvideva, da imate sveže nameščen CentOS 6 VPS, čeprav lahko zagotovo sledite navodilom na obstoječem VPS.

Namestite uradno podprto (starejšo) različico GCC

Tudi če želite namestiti novejšo različico GCC iz vira, je sam GCC napisan v C++. Zato morate najprej namestiti starejši prevajalnik C++.

  1. Prijavite se v svoj VPS tako, da kliknete »Ogled konzole« na nadzorni plošči Vultr ali prek SSH, če ste to nastavili.

    (a) Prijavite se kot root.

    (b) Ustvarite svoj uporabniški račun in mu dajte geslo.

    adduser <username>
    passwd <username>
    

    (c) Dovolite, da vaš uporabniški račun izvaja ukaze s pravicami root prek ukaza 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) Odjavite se kot root in se prijavite v svoj uporabniški račun.

  2. Namestite pakete CentOS 6 GCC. To vas bo vprašalo, ali želite zaradi odvisnosti namestiti približno 11 paketov.

    sudo yum install gcc gcc-c++
    
  3. Preverite nameščene različice in pokažite njihove lokacije.

    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++
    

Namestite novejšo različico GCC iz vira

Če želite samo uradno podprto različico GCC za CentOS, ste pripravljeni. Če potrebujete novejšo različico GCC, nadaljujte.

  1. POMEMBNO! Najprej izvedite zgornje korake, da namestite starejšo binarno različico GCC.

  2. Namestite dodatno potrebne pakete. To vas bo vprašalo, ali želite namestiti približno 41 paketov.

    sudo yum install svn texinfo-tex flex zip libgcc.i686 glibc-devel.i686
    
  3. Odločite se, katero različico GCC želite namestiti. Ta ukaz vam bo pokazal "oznake" za vsako od razpoložljivih različic.

    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. Pridobite izvor želene različice GCC. To bo delovalo nekaj minut. Preostanek tega članka je napisan za gcc-5_1_0_release/in bo prenesel vire v ~/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. Pridobite vir dodatnih predpogojev. Z uporabo v5.1.0 to prenese vire in jih doda v gradnjo GCC za MPFR v2.4.2, GMP 4.3.2 in 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. Če ima vaš VPS samo 768 MB pomnilnika, vam bo v naslednjem koraku zmanjkalo pomnilnika. Če imate 1 GB pomnilnika, ste morda v redu, vendar ta korak ne more škoditi. Če imate 2 GB pomnilnika ali več, lahko ta korak preskočite. Ta korak doda 500 MB navideznega pomnilnika z uporabo izmenjalne datoteke.

    SWAP=/tmp/swap
    dd if=/dev/zero of=$SWAP bs=1M count=500
    mkswap $SWAP
    sudo swapon $SWAP
    
  7. Zgradite GCC. To bo trajalo ure. Če se to zaključi pravilno, bo zadnja vrstica, ki jo boste videli, napisana "uspeh". Normalno je, da se nekatera sporočila, ki izgledajo kot napake, hitro pomikajo, dokler se gradnja zaključi in odmeva "uspeh". Vedno je dobro zgraditi stvari v drugem imeniku kot v izvornem imeniku. Dokumentacija GCC navaja, da ne smete uporabljati imenika gradnje, ki je podimenik izvornega imenika.

    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. Če ste v 6. koraku nastavili izmenjalno datoteko, jo odstranite. Brez dodatnega konfiguriranja po ponovnem zagonu ne bo uporabljena kot izmenjalna datoteka, temveč bo zavzela samo prostor na trdem disku v vašem VPS.

    sudo swapoff $SWAP
    rm /tmp/swap
    
  9. Preverite nameščene različice in si oglejte njihove lokacije.

    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. Dodajte nove knjižnice v ld (povezovalnik GNU).

    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. Po želji naredite program hello world.

    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. Po želji povrnite prostor na trdem disku. Vaša ~/sourceInstallationsmapa bo zavzemala približno 8,0 GB. Verjetno je pametno obdržati mape, saj obstajajo izbirne možnosti konfiguracije, ki jih boste morda morali uporabiti v nekem trenutku v prihodnosti, in bi bilo hitreje, če bi že veliko naredili. Poleg tega postopek gradnje ustvari dnevnike, ki jih lahko pozneje preverite in delate, če gre kaj narobe. Toda po tem, ko ste zagnali sudo make installprej, vaš nameščen GCC ni odvisen od ničesar v tem imeniku in prostor je lahko premium, tako da lahko naredite ta korak in povrnete 8,0 GB ali več.

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

Zdaj imate vaš CentOS uradno podprt gccin g++še vedno v /usr/bin/, vaš CentOS uradno podpira 32-bitne knjižnice v /lib, vaš CentOS uradno podpira 64-bitne knjižnice v /lib64, in vaš CentOS uradno podprte vključujejo datoteke v /usr/include.

Vaše novejše gccin g++so v /usr/local/bin, novejše 32-bitne knjižnice v /usr/local/lib, vaše novejše 64-bitne knjižnice v /usr/local/lib64, in vaše novejše vključene datoteke v /usr/local/include.


Namestite Plesk na CentOS 7

Namestite Plesk na CentOS 7

Uporaba drugega sistema? Plesk je lastniška nadzorna plošča spletnega gostitelja, ki uporabnikom omogoča upravljanje svojih osebnih in/ali strank spletnih mest, baz podatkov

Kako namestiti Squid Proxy na CentOS

Kako namestiti Squid Proxy na CentOS

Squid je priljubljen brezplačen program za Linux, ki vam omogoča ustvarjanje spletnega proxyja za posredovanje. V tem priročniku boste videli, kako namestiti Squid na CentOS, da vas obrne

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je razdelek Apache, katerega namen je biti veliko manj intenziven vir. Je lahek, od tod tudi njegovo ime, in je precej preprost za uporabo. Namestite

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

VULTR je pred kratkim naredil spremembe na svoji strani in zdaj bi moralo vse delovati v redu iz škatle z omogočenim NetworkManagerjem. Če želite onemogočiti

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Icinga2 je zmogljiv sistem za spremljanje in če se uporablja v modelu glavni-odjemalec, lahko nadomesti potrebo po nadzornih pregledih, ki temeljijo na NRPE. Glavni naročnik

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti Microweber na CentOS 7

Kako namestiti Microweber na CentOS 7

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Kako namestiti Mattermost 4.1 na CentOS 7

Kako namestiti Mattermost 4.1 na CentOS 7

Uporaba drugega sistema? Mattermost je odprtokodna alternativa sporočilni storitvi Slack SAAS, ki jo gosti sami. Z drugimi besedami, z Mattermostom si pribl

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Kaj potrebujete Vultr VPS z vsaj 1 GB RAM-a. SSH dostop (z root/administrativnimi pravicami). 1. korak: Namestitev BungeeCord Najprej najprej

Omogočamo šifriranje na Plesku

Omogočamo šifriranje na Plesku

Nadzorna plošča Plesk ima zelo lepo integracijo za Lets Encrypt. Lets Encrypt je eden edinih ponudnikov SSL, ki izdaja potrdila v celoti

Namestite MariaDB 10 na CentOS 6

Namestite MariaDB 10 na CentOS 6

V času pisanja je MariaDB 10.1 razvojna različica MariaDB. Temelji na MariaDB 5.5 in vključuje funkcije, prenesene nazaj iz MySQL 5.6. Ther

Omogoča šifriranje na cPanelu

Omogoča šifriranje na cPanelu

Lets Encrypt je certifikacijski organ, ki je namenjen brezplačnemu zagotavljanju certifikatov SSL. cPanel je zgradil lepo integracijo za vas in vašo stranko

Kako namestiti Concrete5 na CentOS 7

Kako namestiti Concrete5 na CentOS 7

Uporaba drugega sistema? Concrete5 je odprtokodni CMS, ki ponuja številne značilne in uporabne funkcije za pomoč urednikom pri preprosti izdelavi vsebine.

Kako namestiti pregledno ploščo na CentOS 7

Kako namestiti pregledno ploščo na CentOS 7

Uporaba drugega sistema? Review Board je brezplačno in odprtokodno orodje za pregledovanje izvorne kode, dokumentacije, slik in še veliko več. Gre za spletno programsko opremo

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

V tem priročniku se boste naučili, kako nastaviti preverjanje pristnosti HTTP za spletni strežnik Nginx, ki deluje na CentOS 7. Zahteve Za začetek boste potrebovali

Kako namestiti YOURLS na CentOS 7

Kako namestiti YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je odprtokodna aplikacija za krajšanje URL-jev in analitiko podatkov. V tem članku bomo obravnavali postopek namestitve

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Uporaba drugega sistema? Uvod ArangoDB je odprtokodna baza podatkov NoSQL s prilagodljivim podatkovnim modelom za dokumente, grafe in ključe-vrednosti. je

Uporaba Etckeeperja za nadzor različic /etc

Uporaba Etckeeperja za nadzor različic /etc

Uvod Imenik /etc/ igra ključno vlogo pri delovanju sistema Linux. Razlog za to je skoraj vsaka sistemska konfiguracija

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Številni sistemski skrbniki upravljajo velike količine strežnikov. Ko je treba do datotek dostopati prek različnih strežnikov, se prijavite v vsakega posebej ca

Nastavitev strežnika Half Life 2 na CentOS 6

Nastavitev strežnika Half Life 2 na CentOS 6

Ta vadnica bo obravnavala postopek namestitve igralnega strežnika Half Life 2 na sistem CentOS 6. 1. korak: Namestitev predpogojev Za nastavitev ou

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več