Cara menginstal gcc-4.8

94

Saya memeriksa versi gcc di sistem saya.

Saat ini di 4.6.3. Saya membaca bahwa gcc-4.8 keluar.

Saya mencoba perintah berikut ini tanpa hasil:

sudo apt-get install gcc (gcc is already the newest version)
sudo apt-get install gcc-4.8 (unable to locate package)

Adakah yang tahu cara menginstal paket ini pada 12.04?

MdT
sumber
Jawaban @ maggotbrain bekerja untuk saya, meskipun saya harus menambahkan: sudo apt-get install gcc-multilib ketika saya mengalami masalah ini: superuser.com/questions/432202/make-fails-compiling-gcc
skillman
2
Catatan untuk googler masa depan: Jika Anda mendapatkan pesan kesalahan seperti referensi tidak ditentukan untuk `lexer_line 'Ini karena alat yang hilang: bison dan sudo fleksibel apt-get install bison sudo apt-get install flex seperti yang ditunjukkan di sini: http: // stackoverflow. com / pertanyaan / 4262531 / trouble-building-gcc-4-6
virtualPN

Jawaban:

119

Apakah GCC-4.8 tersedia untuk 12,04 Precise sekarang?

Pembaruan : Pada 6/05/2013, saat ini ada rilis gcc 4.8.1 untuk 12.04 (tepat) yang tersedia di https://launchpad.net/~ubuntu-toolchain-r/+archive/test .

Jawaban singkatnya adalah: gcc-4.8saat ini tersedia untuk 12,04 (Tepat) melalui PPA toolchain atau dengan mengkompilasi sumbernya (lihat di bawah untuk perincian).

Pengumuman Rilis

The pengumuman rilis gcc-4.8 dibuat pada tanggal 22 Maret, jadi Anda mungkin tidak akan melihat ini dalam sebuah repositori resmi dulu.

Namun, tampaknya Launchpad memang memiliki PPA yang tersedia untuk build pengujian toolchain yang menyertakan gcc-4.8, di sini: https://launchpad.net/~ubuntu-toolchain-r/+archive/test

Menurut changelog dan daftar paket , ada debs untuk i386, amd64, arm, dan powerpc dan dibangun terhadap raring 13,04.

Versi gcc terbaru yang tersedia, untuk 12,04, adalah 4.8.1 dan tersedia di PPA toolchain.

Menambahkan toolchain / test PPA:

Untuk menambahkan PPA ke sistem Anda, buka terminal ( Ctrl+ Alt+ t) dan jalankan perintah berikut:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50

Anda juga akan diminta untuk menginstal sejumlah paket yang disarankan. Paket-paket ini direkomendasikan, tetapi opsional, untuk instalasi gcc-4.8.

Fitur C ++ apa yang tersedia di gcc-4.8 yang tidak tersedia di gcc-4.7.2?

  • Menurut GNU.ORG , gcc-4.7, mendukung sejumlah fitur C ++ 11 .
  • Pada rilis gcc-4.8, gcc-4.7 tidak mendukung 8 dari 64 fitur (Lihat Dukungan C ++ 0x / C ++ 11 di GCC )

  • Fitur-fitur ini adalah:

    Language Features
    - Rvalue references for *this
    - Generalized attributes
    - Alignment support
    - Inheriting constructors
    Concurreny
    - Bidirectional Fences
    - Memory model
    - Abandoning a process and at_quick_exit
    - Thread-local storage 
    
  • Untuk daftar lengkap perubahan gcc-4.8, lihat daftar perubahan

Saya membutuhkan fitur gcc ini pada 12,04 Precise, sekarang. Bagaimana saya bisa mendapatkannya?

Membangun GCC-4.8 dari sumber:

Jika Anda membutuhkan gcc-4.8 pada 12.04 sekarang, satu-satunya pilihan Anda adalah membuatnya dari sumber .

Silakan baca FAQ pemasangan GCC sebelum pemasangan.

Anda dapat mengunduh gcc-4.8 dari salah satu situs mirror gnu.org atau langsung dari server SVN mereka .

Berikut ini adalah contoh langkah-langkah untuk mengkompilasi dari sumber (lihat di sini untuk detail tambahan.) Perhatikan bahwa ini dapat bervariasi tergantung pada sistem dan preferensi Anda.

  1. Unduh kode sumber

    • Buat direktori build ( mkdir gcc-build && cd gcc-build)
    • Unduh file sumber: wget http://www.netgull.com/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2(sesuaikan perintah ini untuk menggunakan situs mirror yang sesuai .
    • Buka zip file ( tar -xvjf <file name>)
  2. Instal beberapa perpustakaan tambahan ( sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev)

  3. Kompilasi sumber: ./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0
  4. Jalankan make(Ini akan memakan waktu untuk selesai. Pergi membuat kopi, atau membuat kue. ;-))
  5. Pasang kode: sudo make install

Setelah proses ini selesai, jalankan perintah gcc --versionuntuk memverifikasi bahwa instalasi telah selesai dengan sukses. Anda akan melihat sesuatu yang mirip dengan output berikut:

maggotbrain@foucault:~$ gcc --version
gcc (Linaro 4.8.0) 4.8.0
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Intinya: Terima kasih kepada semua orang yang menyediakan backports Ubuntu dengan mudah untuk Anda. Beri mereka beberapa kue yang Anda panggang saat berjalan make. ;-)

Kevin Bowen
sumber
Jawaban luar biasa, kecuali:E: Unable to locate package gcc-4.8
John Dibling
2
Menginstal pustaka tambahan tidak cukup bagi saya, tetapi menjalankannya ./contrib/download_prerequisites.shtetap (dari stackoverflow.com/questions/9253695/… ).
Gauthier
7
Catatan: Saya juga harus menginstal paket g ++ - 4.8 (selain gcc-4.8) untuk dapat mengkompilasi kode C ++. Jika tidak saya mendapatkan error kompilasi: gcc: error trying to exec 'cc1plus': execvp: No such file or directory 4.8.
Boris Dalstein
Saya berhasil menginstal gcc4.8 pada Precise
Homunculus Reticulli
1
@ John Dibling - Tentu saja metode yang terbuka tidak menginstal file, namun karena Anda tidak pernah membangun paket atau menginstal ... maka Anda tidak dapat menemukannya (mereka) :-). Ya ada cara cepat untuk membuat paket secara otomatis menggunakan folder debian dari tautan . Saya sudah melakukannya dengan sukses untuk paket lain. Solusi ini akan menginstal Semua paket terkait termasuk g ++ dll ...
Antonio
1

Jadi jawaban di atas berfungsi, setidaknya untuk instalasi manual. Meskipun setelah itu sudo make install, menjalankan gccmasih hanya menjalankan stok versi 4.6.3. Bahkan berusaha gcc-4.8atau gcc-4.8.0tidak berhasil. Berlari /app/gcc/4.8.0/bin/gcctampaknya menjadi satu-satunya hal yang berfungsi untuk saya. Maksudku itu agak timpang tapi setidaknya berhasil.

pengguna149393
sumber
5
[: facepalm:] Sebelum Anda menyebut hal-hal "lumpuh" mungkin Anda harus meningkatkan pengetahuan sistem operasi Anda. Anda bisa mulai dengan membaca tentang konsep PATH: en.wikipedia.org/wiki/PATH_(variable)
pszilard
1
Tentu juga, karena Anda tidak menginstal paket apa pun dengan skrip DEBIAN / postinst, Anda harus mengatur secara manual versi default untuk digunakan oleh sistem Anda melalui cmd pembaruan-alternatif . line ... Jika Anda menggunakan --prefix = / usr, Anda tidak perlu ikut campur dengan PATH ...
Antonio