CentOS 6 Üzerinde GCC Kurulumu

CentOS, Red Hat Enterprise Linux'un (RHEL) gelişimini takip ediyor. RHEL, kararlı bir sunucu platformu olmaya çalışır, yani her yazılım paketinin en son sürümlerini dahil etmek için acele etmez.

Bu makalenin yazımından itibaren, CentOS 6 resmi olarak GCC v4.4.7'yi dağıtır. Bununla birlikte, GCC v5.1 yakın zamanda piyasaya sürüldü. Bundan önce v4.9.2 mevcuttu.

GCC'nin daha yeni bir sürümüne ihtiyaç duymanın resmi önerisi, yazılım paketlerinin en son sürümlerini desteklemeye odaklanan farklı bir UNIX dağıtımını düşünmeniz gerektiğidir.

Neyse ki, CentOS'a GCC'nin daha yeni bir sürümünü yükleyebilir ve eski sürümü hala yüklü bırakabilirsiniz. Bu sadece resmi olarak dağıtılmış yazılımı kullanmaktan sapar, ancak bazen çok az seçeneğiniz varmış gibi hissedebilirsiniz. Bazı komplikasyonlarla karşılaşabilirsiniz; örneğin, üçüncü taraf çekirdek modüllerini kuruyorsanız, bunlar çekirdekinizi oluşturmak için kullanılan GCC'nin aynı sürümü kullanılarak derlenmelidir.

Bu makalede, CentCC 6'nın resmi olarak desteklenen GCC sürümünün nasıl yükleneceği ve daha yeni bir sürümün nasıl yükleneceği açıklanır. Bu makalede, varolan bir VPS'deki yönergeleri kesinlikle uygulayabilmenize rağmen, yeni kurulmuş bir CentOS 6 VPS'niz olduğu varsayılmaktadır.

GCC'nin resmi olarak desteklenen (eski) bir sürümünü yükleyin

GCC'nin kaynaktan daha yeni bir sürümünü yüklemek isteseniz bile, GCC'nin kendisi C ++ ile yazılmıştır. Bu nedenle, önce eski bir C ++ derleyicisi yüklemeniz gerekir.

  1. Vultr kontrol panelinde "Konsolu Görüntüle" yi tıklayarak veya ayarladıysanız SSH ile VPS'nize giriş yapın.

    (a) Kök olarak oturum açın.

    (b) Kendi kullanıcı hesabınızı oluşturun ve bir şifre verin.

    adduser <username>
    passwd <username>
    

    (c) Kullanıcı hesabınızın sudo komutu aracılığıyla kök ayrıcalıklarına sahip komutlar yürütmesine izin verin.

    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) Kök olarak çıkış yapın ve kullanıcı hesabınıza giriş yapın.

  2. CentOS 6 GCC paketlerini kurun. Bu, bağımlılıklar nedeniyle yaklaşık 11 paket yüklemek isteyip istemediğinizi soracaktır.

    sudo yum install gcc gcc-c++
    
  3. Yüklü sürümleri kontrol edin ve konumlarını gösterin.

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

Kaynaktan GCC'nin daha yeni bir sürümünü yükleyin

Yalnızca CentOS'un resmi olarak desteklenen GCC sürümünü istiyorsanız, hazırsınız demektir. GCC'nin daha yeni bir sürümüne ihtiyacınız varsa devam edin.

  1. ÖNEMLİ! İlk olarak, GCC'nin eski bir ikili sürümünü yüklemek için yukarıdaki adımları tamamlayın.

  2. Ek olarak gerekli paketleri kurun. Bu size yaklaşık 41 paket yüklemek isteyip istemediğinizi soracaktır.

    sudo yum install svn texinfo-tex flex zip libgcc.i686 glibc-devel.i686
    
  3. Hangi GCC sürümünü yüklemek istediğinize karar verin. Bu komut, mevcut sürümlerin her biri için "etiketler" i gösterir.

    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. İstediğiniz GCC sürümünün kaynağını alın. Bu birkaç dakika sürecek. Bu makalenin geri kalanı için yazılmış gcc-5_1_0_release/ve kaynakları içine indirir ~/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. Ek ön koşulların kaynağını alın. V5.1.0 kullanarak, kaynaklar indirilir ve MPFR v2.4.2, GMP 4.3.2 ve MPC 0.8.1 için GCC derlemesine eklenir.

    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. VPS'nizde yalnızca 768 MB bellek varsa, bir sonraki adımda bellek yetersiz kalır. 1 GB belleğiniz varsa, iyi olabilirsiniz, ancak bu adımı yapmak zarar veremez. 2 GB veya daha fazla belleğiniz varsa bu adımı atlayabilirsiniz. Bu adım, takas dosyası kullanarak 500MB sanal bellek ekler.

    SWAP=/tmp/swap
    dd if=/dev/zero of=$SWAP bs=1M count=500
    mkswap $SWAP
    sudo swapon $SWAP
    
  7. GCC'yi oluşturun. Bu saatlerce sürecek. Bu doğru şekilde tamamlanırsa, göreceğiniz son satırda "başarı" yazacaktır. Derleme tamamlandığında ve echos "başarılı" olduğu sürece, bazı hata görünümlü mesajların hızla kaydığını görmek normaldir. İşleri kaynak dizinden farklı bir dizinde oluşturmak her zaman iyi bir fikirdir. GCC belgeleri, kaynak dizinin alt dizini olan bir oluşturma dizini kullanmamanız gerektiğini belirtir.

    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. 6. adımda bir takas dosyası oluşturursanız, kaldırın. Daha fazla yapılandırma yapmadan, yeniden başlattıktan sonra takas dosyası olarak kullanılmaz ve VPS'nizde sabit disk alanı kaplar.

    sudo swapoff $SWAP
    rm /tmp/swap
    
  9. Yüklü sürümleri kontrol edin ve konumlarını görün.

    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. Yeni kütüphaneleri ld'ye (GNU bağlayıcısı) ekleyin.

    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. İsteğe bağlı olarak bir merhaba dünya programı yapın.

    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. İsteğe bağlı olarak sabit sürücü alanını geri kazanın. Kişisel ~/sourceInstallationsklasör 8.0GB etrafında alacak. Gelecekte bir noktada kullanmanız gerekebilecek isteğe bağlı yapılandırma seçenekleri olduğu için muhtemelen klasörleri saklamak akıllıca olacaktır ve zaten çok şey yapmak daha hızlı olacaktır. Ayrıca, derleme işlemi daha sonra bir şeyler ters giderse kontrol edip çalışabileceğiniz günlükler oluşturur. Ancak, sudo make installdaha önce çalıştıktan sonra , yüklü GCC'niz bu dizindeki herhangi bir şeye bağlı değildir ve alan bir prim olabilir, bu nedenle bu adımı yapabilir ve 8.0GB veya daha fazlasını geri alabilirsiniz.

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

Artık CentOS'unuzu resmi olarak desteklediniz gccve g++hala /usr/bin/içerdiniz, CentOS'unuz resmi olarak 32 bitlik kütüphaneleri /libdestekledi, CentOS'unuz resmi olarak 64 bitlik kütüphaneleri /lib64destekledi ve CentOS'unuz resmi olarak desteklenen dosyaları içeriyor /usr/include.

Daha yeni olan gccve içerdiğiniz , daha yeni olan 32 bitlik kütüphaneler , daha yeni olan 64 bitlik kütüphaneleriniz ve g++daha yeni olanlarınız içinde dosyalar içeriyor ./usr/local/bin/usr/local/lib/usr/local/lib64/usr/local/include



Leave a Comment

CentOS 7de Tavşan Kümesini Kümeleme

CentOS 7de Tavşan Kümesini Kümeleme

RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir

Pagekit CMSyi CentOS 7ye Yükleme

Pagekit CMSyi CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b

CentOS 6da ModSecurity ile NGINX kurulumu

CentOS 6da ModSecurity ile NGINX kurulumu

Bu makalede, ModSecurity tarafından korunan bir LEMP yığını oluşturmayı açıklayacağım. ModSecurity faydalı bir açık kaynaklı web uygulaması güvenlik duvarıdır.

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

Giriş LAMP, Linux, Apache, MySQL ve PHPnin kısaltmasıdır. Bu yazılım yığını, kurulum için en popüler açık kaynaklı çözümdür.

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Chamilo, çevrimiçi eğitim ve takım işbirliği için yaygın olarak kullanılan ücretsiz ve açık kaynaklı bir öğrenme yönetim sistemidir (LMS).

CentOS 7ye Odoo 9 Topluluğunu Yükleme

CentOS 7ye Odoo 9 Topluluğunu Yükleme

Eskiden OpenERP olarak bilinen Odoo, iyi bilinen bir açık kaynaklı ERP iş platformudur. Her büyüklükteki işletme, bol miktarda lis sayesinde Odoodan yararlanabilir

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2 güçlü bir izleme sistemidir ve bir ana istemci modelinde kullanıldığında, NRPE tabanlı izleme kontrollerine olan ihtiyacın yerini alabilir. Master-Clien

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Couch CMS, web tasarımcılarının tasarlamalarını sağlayan basit ve esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)

NetOSu CentOS 7ye Yükleme

NetOSu CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Netdata, gerçek zamanlı sistem ölçümleri izleme alanında yükselen bir yıldızdır. Aynı türdeki diğer araçlarla karşılaştırıldığında, Netdata:

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? ERP veya Kurumsal Kaynak Planlaması, temel iş süreçlerini yönetmek için kullanılan bir kurumsal uygulama paketidir. ERPNext ücretsizdir

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

Başka bir Vultr eğitimine hoş geldiniz. Burada, bir SAMP sunucusunun nasıl kurulacağını ve çalıştırılacağını öğreneceksiniz. Bu kılavuz CentOS 6 için yazılmıştır. Önkoşullar

KubOSM ile Kubernetesi CentOS 7de dağıtın

KubOSM ile Kubernetesi CentOS 7de dağıtın

Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu

CentOS 7de Geliştirme için Sails.jsyi kurun

CentOS 7de Geliştirme için Sails.jsyi kurun

Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sails.js, Ruby on Railse benzer şekilde Node.js için bir MVC çerçevesidir. Modern uygulamalar geliştirmek için yapar

CentOS 6da Half Life 2 Sunucusu Kurma

CentOS 6da Half Life 2 Sunucusu Kurma

Bu eğitimde, CentOS 6 Sistemine Half Life 2 oyun sunucusu kurma süreci ele alınacaktır. 1. Adım: Önkoşulları kurma

PrestaShopu CentOS 7ye Yükleme

PrestaShopu CentOS 7ye Yükleme

PrestaShop popüler bir açık kaynaklı e-ticaret çözümüdür. Kendi çevrimiçi mağazanızı ücretsiz oluşturmak için kullanabilirsiniz. Bu eğitimde, size

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

Farklı Bir Sistem mi Kullanıyorsunuz? MODX Revolution hızlı, esnek, ölçeklenebilir, ücretsiz ve açık kaynaklı, kurumsal düzeyde bir İçerik Yönetim Sistemi (CMS)

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Giriş Linux sistemleri, süreçleri ve disk alanını izlemeye yardımcı olan varsayılan olarak top, df ve du gibi izleme araçlarıyla birlikte gelir. Çoğu zaman, onlar ar

CentOS 7de Kolab Groupware Kurulumu

CentOS 7de Kolab Groupware Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Kolab Groupware, ücretsiz ve açık kaynaklı bir web tabanlı grup yazılımı uygulamasıdır. Özellikleri e-posta iletişiminden, olaylardan oluşur

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun