GCC'yi 6.3 sürümüne güncelleyin [kapalı]


10

Sadece dilin daha yeni sürümlerinde bulunan bazı C ++ özelliklerini kullanmak istiyorum. Sorun Ubuntu 15.04 (Vivid Vervet) 4.9.2 kurulu ve ben apt-get install gcc olsun çıktı bakarak :

Reading package lists... Done
Building dependency tree       
Reading state information... Done
gcc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]

Zaten en yeni sürüm olduğunu söylüyor. Nedenini anlamıyorum ...


1
Ubuntu 15.04 artık desteklenmiyor, belki daha yeni bir sürüme geçmelisiniz. Ubuntu'nun eski sürümleri genellikle paketlerin en son sürümlerine sahip değildir, dağıtımı yükseltmeniz veya paketinizi bir ppa'dan yüklemeniz veya kaynaktan oluşturmanız gerekir.
Raziman TV

Yanıtlar:


10

Mevcut tek seçenek Kaynaklardan Oluşturmaktır , çünkü EOL'ye (Yaşam Sonu) ulaşan Canlı (15.04) sürümünü çalıştırıyorsunuz.

  1. Kaynak kodu ve önkoşullarını indirin:

    wget https://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2
    tar jxvf gcc-6.3.0.tar.bz2
    cd gcc-6.3.0
    ./contrib/download_prerequisites
    
  2. Kaynaklar (not: bu komut başlangıçta .bz2 arşivi kayıtlı olduğu yere göre değişir) derleme, ayrıca değiştirebilir seçeneği için buildkomutu. Bu durumda çok temel bir seçenek kullanacağız:

    cd ~
    mkdir gcc-build && cd gcc-build
    ../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0
    

    NOT : Kullanılabilir seçeneği görüntülemek için belgeleri okuduğunuzdan emin olun .

  3. Şimdi gcc oluşturmaya hazırız

    • makeGcc'yi oluşturmak için komutu çalıştırın , bu adımların tamamlanması uzun zaman alacaktır.

      make
      
    • Yukarıdaki aşama bittiğinde, inşa edilen gcc'yi aşağıdakilerle kurabilirsiniz :

      sudo make install
      

      Bu işlem tamamlandıktan sonra gcc --version, yüklemenin başarıyla tamamlandığını doğrulamak için komutu çalıştırın .




Bu adımları uygularken g ++ 6.3 hangi klasöre yüklenir? İçin ~/gcc-6.3.0, için ~/gcc-buildveya başka bir klasöre? Oluşturulan klasörlerin hiçbiri bu komutları çalıştırdıktan sonra kaldırılmamalı mı yoksa hepsi gerekli mi?
HelloGoodbye

1
tar xzvf gcc-6.3.0.tar.bz2sadece yazdırır gzip: stdin: not in gzip format; tar: Child returned status 1; tar: Error is not recoverable: exiting now, bu yüzden arşivi arşiv yöneticisiyle açtım.
HelloGoodbye

Ben çalıştırdığınızda ../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0, benim hemen /usr/bin/ld: cannot find crt1.o: No such file or directory, /usr/bin/ld: cannot find crti.o: No such file or directory, /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc, /usr/bin/ld: cannot find -lgccve benzeri hatalar.
HelloGoodbye

4

Ubuntu 15.04 kullanım ömrünün sonuna geldi ve hiçbir desteği yok, yani artık güncelleme veya düzeltme (güvenlik, hata veya özellikler) yayınlanmayacak.

Daha yeni bir Ubuntu sürümü güncellemeniz veya yeniden yüklemeniz gerekir.

Resmi depolarda zaten 6.cc şubesi olan 16.10 (9 aylık destek) ile gitmenizi tavsiye ederim .

Ama aynı zamanda 16.04 LTS ile gidebilirsiniz (5 yıl destek) ve eklemek güvenilmeyen / unguaranted ppa gibi son gcc sürümlerini almak için bu bir

Şahsen ben 16.10 ile gitmek ve (çoğunlukla) herhangi bir ppa eklemeden resmi kanallardan daha sonraki yazılım / Ubuntu sürümleri güncellemeye devam ediyorum .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.