Nasıl kurulur gcc-4.8


94

Sistemimdeki gcc versiyonunu kontrol ettim.

Şu anda 4.6.3'te. Gcc-4.8'in çıktığını okudum.

Aşağıdaki komutları başarı olmadan denedim:

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

Bu paketi 12.04'e nasıl yükleyeceğini bilen var mı?


@ maggotbrain'ın cevabı benim için işe yaradı, ancak şunu eklemek zorunda kaldım: sudo apt-get gcc-multilib'i bu sorunla karşılaştığımda
yükleyin

2
Gelecekteki çalışanlara not: undefined `lexer_line 'referansına benzer bir hata mesajı alırsanız, eksik araçlardan kaynaklanır: bison ve flex sudo apt-get install bison sudo apt-get install flex burada belirtildiği gibi: http: // stackoverflow. com / sorular / 4262531 / sorun-bina-gcc-4-6
virtualPN

Yanıtlar:


119

GCC-4.8 şimdi 12.04 için kesin mi?

Güncelleme : 06.05.2013 itibariyle, şu anda https://launchpad.net/~ubuntu-toolchain-r/+archive/test adresinde mevcut olan 12.04 (kesin) için gcc 4.8.1 sürümü bulunmaktadır .

Kısa cevap: gcc-4.8şu anda 12.04 (Kesin) alet zinciri PPA aracılığıyla veya kaynak derlenerek (detaylar için aşağıya bakınız) kullanılabilir.

Yayın Duyurusu

Gcc-4.8 serbest bırakılması için duyuru 22 Mart yapıldığı, bu nedenle muhtemelen sadece henüz resmi bir depoda bu görmeyeceksiniz.

Bununla birlikte, Launchpad'in burada gcc-4.8 içeren toolchain test testleri için mevcut bir PPA'sı olduğu anlaşılıyor : https://launchpad.net/~ubuntu-toolchain-r/+archive/test

Göre değişiklik günlüğü ve paket listesinde , i386, amd64, kol, ve PowerPC için debs vardır ve 13.04 can atan karşı inşa edildi.

12.04 için en son gcc sürümü mevcut 4.8.1'dir ve PPA alet zincirinde mevcuttur.

Alet zincirini / test PPA'sını eklemek:

PPA'yı sisteminize eklemek için bir terminal açın ( Ctrl+ Alt+ t) ve aşağıdaki komutları çalıştırın:

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

Ayrıca bir dizi önerilen paket yüklemeniz istenecektir. Bu paketler, gcc-4.8 kurulumu için önerilir ancak isteğe bağlıdır.

Gcc-4.8.2'de mevcut olmayan gcc-4.8 hangi C ++ özelliklerine sahiptir?

  • GNU.ORG'a göre , gcc-4.7, bir dizi C ++ 11 özelliğini desteklemektedir .
  • Gcc-4.8 sürümünden itibaren, gcc-4.7 64 özellikten 8'ini desteklemiyor (Bkz . GCC'de C ++ 0x / C ++ 11 Desteği )

  • Bu özellikler:

    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 
    
  • Gcc-4.8’deki değişikliklerin tam listesi için Değişiklikler’e bakın.

Bu gcc özelliklerine şimdi 12.04 Kesin'de ihtiyacım var. Onları nasıl alabilirim?

Kaynaktan GCC-4.8 inşası:

Şimdi 12.04'te gcc-4.8'e ihtiyacınız varsa, tek seçeneğiniz onu kaynaktan oluşturmaktır .

Lütfen kurulumdan önce GCC kurulum SSS bölümünü okuyun .

Gcc-4.8'i gnu.org'un yansıtma sitelerinden birinden veya doğrudan SVN sunucusundan indirebilirsiniz .

Kaynaktan derleme adımlarına bir örnek ( ek ayrıntılar için buraya bakın.) Bunların sisteminize ve tercihlerinize bağlı olarak değişebileceğini unutmayın.

  1. Kaynak kodu indirin

    • Bir inşa dizini yapın ( mkdir gcc-build && cd gcc-build)
    • Kaynak dosyayı indirin: wget http://www.netgull.com/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2(uygun bir yansıtma sitesi kullanmak için bu komutu ayarlayın .
    • Dosyayı açın ( tar -xvjf <file name>)
  2. Bazı ek kitaplıklar yükleyin ( sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev)

  3. Kaynağı derleyin: ./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0
  4. Koş make(Bu işlemin tamamlanması biraz zaman alacak. Git biraz kahve yap, ya da biraz kurabiye pişir. ;-))
  5. Kodu yükleyin: sudo make install

Bu işlem tamamlandıktan sonra gcc --version, kurulumun başarıyla tamamlandığını doğrulamak için komutu çalıştırın . Aşağıdaki çıktıya benzer bir şey görmelisiniz:

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.

Sonuç olarak: Sizin için Ubuntu backports kurulumu kolay olan herkese teşekkürler. Çalıştırırken hazırladığınız çerezlerin bir kısmını verin make. ;-)


Mükemmel cevap, hariç:E: Unable to locate package gcc-4.8
John Dibling

2
Ek kütüphaneleri kurmak benim için yeterli değildi, fakat çalışması ./contrib/download_prerequisites.shdüzeltildi ( stackoverflow.com/questions/9253695/… ).
Gauthier

7
Not: Ayrıca C ++ kodunu derleyebilmek için g ++ - 4.8 (gcc-4.8'e ek olarak) paketini de yüklemeliydim. Aksi takdirde derleme hatası başlamıştı: gcc: error trying to exec 'cc1plus': execvp: No such file or directory 4.8.
Boris Dalstein

Ben başarıyla Hassas üzerine gcc4.8 yüklemek başardı
Reticulli Homunculus

1
@ John Dibling - Açıklanan yöntemin dosyaları yüklediğinden emin olun, ancak hiçbir zaman bir paket oluşturmaz ya da kurmazsınız, bu yüzden bulamazsınız (onları) :-). Peki linkten debian klasörünü kullanarak paketleri otomatik olarak oluşturmanın hızlı bir yolu var . Diğer paketler için başarılı bir şekilde yaptım. Bu çözüm g ++ dahil tüm ilgili paketleri yükler ...
Antonio

1

Yani yukarıda cevap, en azından el ile yükleme için çalışır. Her ne kadar sonra bile sudo make install, gcchala çalışan 4.6.3 stok versiyonunu çalıştırıyor. Hatta çalışıyor gcc-4.8veya gcc-4.8.0çalışmıyor. Koşmak /app/gcc/4.8.0/bin/gccbenim için çalışan tek şey gibi görünüyor. Demek istediğim biraz topal ama en azından işe yarıyor.


5
[: facepalm:] Şeyleri "topal" olarak adlandırmadan önce işletim sistemleri bilginizi yükseltmelisiniz. PATH kavramı hakkında okumaya başlayabilirsiniz: en.wikipedia.org/wiki/PATH_(variable)
pszilard

1
Tabii ki, DEBIAN / postinst betiğiyle herhangi bir paket yüklemediğinizden, güncelleme alternatifleri cmd aracılığıyla sisteminiz tarafından kullanılacak varsayılan sürümü manuel olarak ayarlamanız gerekir . satır ... Eğer kullandıysanız --prefix = / usr PATH ile karışmaya gerek yok ...
Antonio
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.