Perbarui GCC ke versi 6.3 [ditutup]

10

Saya ingin menggunakan beberapa fitur C ++ yang hanya tersedia di versi bahasa yang lebih baru. Masalahnya adalah Ubuntu 15.04 (Vivid Vervet) memiliki 4.9.2 diinstal dan melihat output yang saya dapatkan dari apt-get install gcc :

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]

Dikatakan itu sudah versi terbaru. Saya tidak mengerti mengapa ...

Fabrício Santana
sumber
1
Ubuntu 15.04 tidak lagi didukung, mungkin Anda harus pindah ke versi yang lebih baru. Ubuntu versi lama biasanya tidak memiliki versi paket terbaru, Anda harus meningkatkan distribusi atau menginstal paket Anda dari ppa atau membangunnya dari sumber.
Raziman TV

Jawaban:

10

Satu-satunya pilihan yang ada adalah Membangunnya dari Sumber , karena Anda menjalankan versi Vivid (15.04) yang telah mencapai EOL (End Of Life).

  1. Unduh kode sumber dan prasyaratnya:

    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. Kompilasi sumber (catatan: perintah ini akan berbeda tergantung di mana Anda awalnya menyimpan arsip .bz2), Anda juga dapat memodifikasi opsi untuk buildperintah. Dalam hal ini kita akan menggunakan opsi yang sangat mendasar:

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

    CATATAN : Pastikan Anda telah membaca dokumen untuk melihat opsi yang tersedia.

  3. Sekarang kita siap membangun gcc

    • Jalankan makeperintah untuk membangun gcc, langkah-langkah ini akan memakan waktu lama untuk selesai.

      make
      
    • Setelah fase di atas selesai, Anda dapat menginstal dibangun gcc dengan:

      sudo make install
      

      Setelah proses ini selesai, jalankan perintah gcc --versionuntuk memverifikasi bahwa instalasi telah selesai dengan sukses.

Liso
sumber
Apa yang dilakukan opsi "-v"? Saya tidak dapat menemukannya di gcc.gnu.org/install/configure.html
Fabrício Santana
Ke folder mana g ++ 6.3 diinstal saat mengikuti langkah-langkah ini? Ke ~/gcc-6.3.0, ke ~/gcc-buildatau ke folder lain? Bukankah salah satu folder yang dibuat harus dihapus setelah menjalankan perintah ini atau apakah semuanya masih diperlukan?
HelloGoodbye
1
tar xzvf gcc-6.3.0.tar.bz2hanya mencetak gzip: stdin: not in gzip format; tar: Child returned status 1; tar: Error is not recoverable: exiting now, jadi saya membongkar arsip dengan manajer arsip.
HelloGoodbye
Ketika saya menjalankan ../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0, saya mendapatkan /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 -lgccdan kesalahan serupa.
HelloGoodbye
4

Ubuntu 15.04 telah mencapai akhir masa pakainya dan tidak memiliki dukungan, yang berarti tidak ada lagi pembaruan atau perbaikan (keamanan, bug atau fitur) akan dipublikasikan.

Anda harus memperbarui atau menginstal ulang dengan versi Ubuntu yang lebih baru.

Saya akan merekomendasikan pergi dengan 16,10 (dukungan 9 bulan) yang sudah memiliki cabang gcc 6.x pada repo resmi.

Tetapi Anda juga dapat menggunakan 16,04 LTS (dukungan 5 tahun) dan menambahkan ppa yang tidak tepercaya / tidak dijamin untuk mendapatkan versi gcc terbaru seperti ini

Secara pribadi, saya akan memilih pergi dengan 16.10 dan terus memperbarui dari saluran resmi ke versi perangkat lunak / Ubuntu yang lebih baru tanpa menambahkan (kebanyakan) ppa.

dgonzalez
sumber