Kā instalēt GCC operētājsistēmā CentOS 6

CentOS seko Red Hat Enterprise Linux (RHEL) attīstībai. RHEL cenšas būt stabila servera platforma, kas nozīmē, ka tā nesteidzas iekļaut katras programmatūras pakotnes jaunākās versijas.

Kopš šī raksta rakstīšanas CentOS 6 oficiāli izplata GCC v4.4.7. Tomēr nesen tika izlaists GCC v5.1. Pirms tam bija pieejama v4.9.2.

Oficiālais ieteikums, ka nepieciešama jaunāka GCC versija, ir tāds, ka jums vajadzētu apsvērt citu UNIX izplatīšanu, kas ir vairāk vērsta uz programmatūras pakotņu jaunāko versiju atbalstu.

Par laimi, jūs varat instalēt jaunāku GCC versiju CentOS, atstājot vecāko versiju joprojām instalētu. Tas atšķiras no oficiāli izplatītās programmatūras izmantošanas, taču dažreiz jums var šķist, ka jums nav izvēles. Jūs varat saskarties ar dažām komplikācijām; piemēram, ja instalējat trešās puses kodola moduļus, tie ir jākompilē, izmantojot to pašu GCC versiju, kas tika izmantota jūsu kodola izveidei.

Šajā rakstā ir aprakstīts, kā instalēt CentOS 6 oficiāli atbalstīto GCC versiju un kā instalēt arī jaunāku versiju. Šajā rakstā tiek pieņemts, ka jums ir tikko instalēts CentOS 6 VPS, lai gan jūs noteikti varat izpildīt norādījumus par esošu VPS.

Instalējiet oficiāli atbalstītu (vecāku) GCC versiju

Pat ja vēlaties instalēt jaunāku GCC versiju no avota, pati GCC ir rakstīta C++ valodā. Tāpēc vispirms ir jāinstalē vecāks C++ kompilators.

  1. Piesakieties savā VPS, Vultr vadības panelī noklikšķinot uz View Console vai izmantojot SSH, ja esat to iestatījis.

    (a) Piesakieties kā root.

    (b) Izveidojiet savu lietotāja kontu un piešķiriet tam paroli.

    adduser <username>
    passwd <username>
    

    (c) Ļaujiet savam lietotāja kontam izpildīt komandas ar root tiesībām, izmantojot komandu 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) Izrakstieties kā root un piesakieties savā lietotāja kontā.

  2. Instalējiet CentOS 6 GCC pakotnes. Tas jautās, vai vēlaties instalēt aptuveni 11 pakotnes atkarību dēļ.

    sudo yum install gcc gcc-c++
    
  3. Pārbaudiet instalētās versijas un parādiet to atrašanās vietas.

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

Instalējiet jaunāku GCC versiju no avota

Ja vēlaties tikai CentOS oficiāli atbalstīto GCC versiju, viss ir gatavs. Ja jums nepieciešama jaunāka GCC versija, turpiniet.

  1. SVARĪGS! Vispirms veiciet iepriekš norādītās darbības, lai instalētu vecāku GCC bināro versiju.

  2. Instalējiet papildus nepieciešamās pakotnes. Tas jautās, vai vēlaties instalēt aptuveni 41 pakotni.

    sudo yum install svn texinfo-tex flex zip libgcc.i686 glibc-devel.i686
    
  3. Izlemiet, kuru GCC versiju vēlaties instalēt. Šī komanda parādīs katras pieejamās versijas "birkas".

    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. Iegūstiet vajadzīgās GCC versijas avotu. Tas darbosies dažas minūtes. Pārējā šī raksta daļa ir rakstīta gcc-5_1_0_release/un avoti tiks lejupielādēti vietnē ~/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. Iegūstiet papildu priekšnosacījumu avotu. Izmantojot versiju 5.1.0, tiek lejupielādēti avoti un tie tiek pievienoti GCC būvējumam MPFR v2.4.2, GMP 4.3.2 un 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. Ja jūsu VPS ir tikai 768 MB atmiņas, nākamajā darbībā jums pietrūks atmiņas. Ja jums ir 1 GB atmiņa, iespējams, viss ir kārtībā, taču šī darbība nevar kaitēt. Ja jums ir 2 GB vai vairāk atmiņas, varat izlaist šo darbību. Šī darbība pievieno 500 MB virtuālās atmiņas, izmantojot mijmaiņas failu.

    SWAP=/tmp/swap
    dd if=/dev/zero of=$SWAP bs=1M count=500
    mkswap $SWAP
    sudo swapon $SWAP
    
  7. Izveidojiet GCC. Tas darbosies stundām ilgi. Ja tas tiks pabeigts pareizi, pēdējā rindiņā būs uzraksts "veiksmi". Tas ir normāli, ja daži kļūdaini ziņojumi ātri ritina garām, ja vien būvēšana ir pabeigta un atbalso "veiksmi". Vienmēr ir laba ideja veidot lietas citā direktorijā, nevis avota direktorijā. GCC dokumentācijā teikts, ka nevajadzētu izmantot būvdirektoriju, kas ir avota direktorija apakšdirektorijs.

    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. Ja 6. darbībā iestatījāt mijmaiņas failu, noņemiet to. Neveicot papildu konfigurēšanu, pēc atsāknēšanas tas netiks izmantots kā mijmaiņas fails, bet tikai aizņems vietu jūsu VPS cietajā diskā.

    sudo swapoff $SWAP
    rm /tmp/swap
    
  9. Pārbaudiet instalētās versijas un skatiet to atrašanās vietas.

    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. Pievienojiet jaunās bibliotēkas ld (GNU saitei).

    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. Pēc izvēles izveidojiet programmu 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. Pēc izvēles atgūstiet vietu cietajā diskā. Jūsu ~/sourceInstallationsmape aizņems aptuveni 8,0 GB. Droši vien ir prātīgi saglabāt mapes, jo ir pieejamas izvēles konfigurācijas opcijas, kuras, iespējams, vajadzēs izmantot nākotnē, un ātrāk būtu, ja daudz kas jau būtu izdarīts. Turklāt izveides procesā tiek izveidoti žurnāli, kurus vēlāk varat pārbaudīt un pēc tam strādāt, ja kaut kas noiet greizi. Taču pēc sudo make installagrākas palaišanas jūsu instalētā GCC nav atkarīga no nekā šajā direktorijā, un vietas var būt par daudz, tāpēc varat veikt šo darbību un atgūt aptuveni 8,0 GB.

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

Tagad jums ir oficiāli atbalstīts jūsu CentOS gccun g++joprojām ir /usr/bin/, jūsu CentOS oficiāli atbalstītie 32 bitu libs mapē /lib, jūsu CentOS oficiāli atbalstītie 64 bitu libs /lib64un jūsu CentOS oficiāli atbalstītie iekļautie faili mapē /usr/include.

Jūsu jaunākās gccun g++ir /usr/local/bin, jaunākās 32 bitu libs mapē /usr/local/lib, jūsu jaunākās 64 bitu libs mapē /usr/local/lib64, un jūsu jaunākās iekļautas failus mapē /usr/local/include.

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk