Si të instaloni GCC në CentOS 6

CentOS ndjek zhvillimin e Red Hat Enterprise Linux (RHEL). RHEL përpiqet të jetë një platformë e qëndrueshme serveri, që do të thotë se nuk nxiton të përfshijë versionet më të fundit të çdo pakete softuerike.

Që nga shkrimi i këtij artikulli, CentOS 6 shpërndan zyrtarisht GCC v4.4.7. Sidoqoftë, GCC v5.1 u lëshua së fundmi. Para kësaj, v4.9.2 ishte në dispozicion.

Sugjerimi zyrtar për të pasur nevojë për një version më të fundit të GCC është që ju duhet të konsideroni një shpërndarje të ndryshme UNIX e cila është më e fokusuar në mbështetjen e versioneve më të fundit të paketave softuerike.

Për fat të mirë, ju jeni në gjendje të instaloni një version më të fundit të GCC në CentOS, duke e lënë versionin e vjetër ende të instaluar. Kjo devijon nga përdorimi thjesht i softuerit të shpërndarë zyrtarisht, por ndonjëherë mund të ndiheni sikur keni pak zgjedhje. Mund të hasni në disa komplikime; për shembull, nëse po instaloni module të kernelit të palëve të treta, ato duhet të kompilohen duke përdorur të njëjtin version të GCC të përdorur për të ndërtuar kernelin tuaj.

Ky artikull përshkruan se si të instaloni versionin CentOS 6 të mbështetur zyrtarisht të GCC dhe si të instaloni gjithashtu një version më të ri. Ky artikull supozon që ju keni një CentOS 6 VPS të sapo instaluar, megjithëse sigurisht që mund të ndiqni udhëzimet për një VPS ekzistues.

Instaloni një version (më të vjetër) të GCC të mbështetur zyrtarisht

Edhe nëse dëshironi të instaloni një version më të ri të GCC nga burimi, vetë GCC është shkruar në C++. Prandaj, së pari duhet të instaloni një përpilues më të vjetër C++.

  1. Hyni në VPS-në tuaj, ose duke klikuar "Shiko konsolën" në panelin e kontrollit Vultr, ose me SSH, nëse e keni konfiguruar atë.

    (a) Hyni si rrënjë.

    (b) Krijoni llogarinë tuaj të përdoruesit dhe jepni një fjalëkalim.

    adduser <username>
    passwd <username>
    

    (c) Lejo llogarinë tuaj të përdoruesit të ekzekutojë komanda me privilegje rrënjësore, përmes komandës 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) Dilni si rrënjë dhe identifikohuni në llogarinë tuaj të përdoruesit.

  2. Instaloni paketat CentOS 6 GCC. Kjo do t'ju pyesë nëse dëshironi të instaloni rreth 11 paketa, për shkak të varësive.

    sudo yum install gcc gcc-c++
    
  3. Kontrolloni versionet e instaluara dhe tregoni vendndodhjet e tyre.

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

Instaloni një version më të ri të GCC nga burimi

Nëse dëshironi vetëm versionin CentOS të mbështetur zyrtarisht të GCC, jeni gati. Nëse keni nevojë për një version më të fundit të GCC, vazhdoni.

  1. E RËNDËSISHME! Së pari, plotësoni hapat e mësipërm për të instaluar një version më të vjetër binar të GCC.

  2. Instaloni paketat e kërkuara shtesë. Kjo do t'ju pyesë nëse dëshironi të instaloni rreth 41 paketa.

    sudo yum install svn texinfo-tex flex zip libgcc.i686 glibc-devel.i686
    
  3. Vendosni se cilin version të GCC dëshironi të instaloni. Kjo komandë do t'ju tregojë "etiketat" për secilin prej versioneve të disponueshme.

    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. Merrni burimin e versionit të GCC që dëshironi. Kjo do të funksionojë për disa minuta. Pjesa tjetër e këtij artikulli është shkruar për gcc-5_1_0_release/dhe do t'i shkarkojë burimet në ~/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. Merrni burimin e parakushteve shtesë. Duke përdorur v5.1.0, kjo shkarkon burimet dhe i shton ato në ndërtimin e GCC për MPFR v2.4.2, GMP 4.3.2 dhe 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. Nëse VPS-ja juaj ka vetëm 768 MB memorie, do t'ju mbarojë memoria në hapin tjetër. Nëse keni 1 GB memorie, mund të jeni në rregull, por nuk mund të jetë e dëmshme ta bëni këtë hap. Nëse keni 2 GB memorie ose më shumë, mund ta kaloni këtë hap. Ky hap shton 500 MB memorie virtuale, duke përdorur një skedar shkëmbimi.

    SWAP=/tmp/swap
    dd if=/dev/zero of=$SWAP bs=1M count=500
    mkswap $SWAP
    sudo swapon $SWAP
    
  7. Ndërtoni GCC. Kjo do të funksionojë për orë të tëra. Nëse kjo përfundon saktë, rreshti i fundit që do të shihni do të thotë "sukses". Është normale të shohësh disa mesazhe me pamje gabimi që lëvizin shpejt, për sa kohë që ndërtimi përfundon dhe jehonë "sukses". Është gjithmonë një ide e mirë për të ndërtuar gjërat në një drejtori të ndryshme nga një direktori burimore. Dokumentacioni i GCC thotë se nuk duhet të përdorni një drejtori ndërtimi që është një nën-drejtori e drejtorisë burimore.

    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. Nëse konfiguroni një skedar shkëmbimi në hapin 6, hiqeni atë. Pa bërë më shumë konfigurime, pas një rindezjeje, ai nuk do të përdoret si një skedar shkëmbimi dhe thjesht do të zërë hapësirën në hard diskun në VPS-në tuaj.

    sudo swapoff $SWAP
    rm /tmp/swap
    
  9. Kontrolloni versionet e instaluara dhe shikoni vendndodhjet e tyre.

    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. Shtoni bibliotekat e reja në ld (lidhësi 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. Opsionale bëni një 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. Kërkoni opsionalisht hapësirën në hard diskun. ~/sourceInstallationsDosja juaj do të marrë rreth 8,0 GB. Ndoshta është e mençur të ruani dosjet, pasi ka opsione opsionale të konfigurimit që mund t'ju nevojiten t'i përdorni në një moment në të ardhmen, dhe do të ishte më shpejt të kishim bërë shumë. Gjithashtu, procesi i ndërtimit krijon regjistra që më vonë mund t'i kontrolloni dhe të punoni nëse diçka shkon keq. Por, pasi të keni ekzekutuar sudo make installmë herët, GCC-ja juaj e instaluar nuk varet nga asgjë në këtë direktori dhe hapësira mund të jetë me çmim të lartë, kështu që ju mund ta bëni këtë hap dhe të rikuperoni 8.0 GB ose më shumë.

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

Tani e keni CentOS-in tuaj të mbështetur zyrtarisht gccdhe g++ende në /usr/bin/, CentOS juaj zyrtarisht mbështet libs 32-bit në /lib, CentOS juaj mbështet zyrtarisht libs 64-bit në /lib64dhe CentOS juaj i mbështetur zyrtarisht përfshin skedarë në /usr/include.

Libimet tuaja më të reja gccdhe g++janë në /usr/local/bin, libs më të reja 32-bitëshe në /usr/local/lib, libet tuaja më të reja 64-bitëshe në /usr/local/lib64, dhe më të rejat përfshijnë skedarë në /usr/local/include.

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë