Cách cài đặt gcc-4.8


94

Tôi đã kiểm tra phiên bản gcc trên hệ thống của tôi.

Nó hiện đang ở 4.6.3. Tôi đọc rằng gcc-4.8 là ra.

Tôi đã thử các lệnh sau mà không thành công:

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

Có ai biết cách cài đặt gói này vào ngày 12.04 không?


Câu trả lời của @ maggotbrain đã làm việc cho tôi, mặc dù tôi đã phải thêm: sudo apt-get install gcc-multilib khi tôi gặp vấn đề này: superuser.com/questions/432202/make-fails-compiling-gcc
skillman

2
Lưu ý đối với các nhân viên trong tương lai: Nếu bạn nhận được thông báo lỗi như tham chiếu không xác định đến `lexer_line 'Đó là do thiếu công cụ: bison và flex sudo apt-get install bison sudo apt-get install flex như được chỉ ra ở đây: http: // stackoverflow. com / câu hỏi / 4262531 / rắc rối-xây dựng-gcc-4-6
virtualPN

Câu trả lời:


119

GCC-4.8 có sẵn cho 12.04 Chính xác không?

Cập nhật : Kể từ ngày 6/05/2013, hiện tại đã có bản phát hành gcc 4.8.1 cho ngày 12.04 (chính xác) có sẵn tại https://launchpad.net/~ubfox-toolchain-r/+archive/test .

Câu trả lời ngắn gọn là: gcc-4.8hiện có sẵn cho 12.04 (Chính xác) thông qua PPA của toolchain hoặc bằng cách biên dịch nguồn (xem bên dưới để biết chi tiết).

Thông báo phát hành

Các thông báo cho sự ra đời của gcc-4.8 được thực hiện vào ngày 22 tháng 3, vì vậy bạn có thể sẽ không được nhìn thấy điều này trong một kho lưu trữ chính thức chỉ được nêu ra.

Tuy nhiên, có vẻ như Launchpad có sẵn PPA cho các bản dựng thử nghiệm toolchain bao gồm gcc-4.8, tại đây: https://launchpad.net/~ubfox-toolchain-r/+archive/test

Theo danh sách thay đổi và gói , có các bản sửa lỗi cho i386, amd64, arm và powerpc và được xây dựng để chống lại 13.04.

Phiên bản mới nhất của gcc, cho ngày 12.04, là 4.8.1 và có sẵn trong PPA của toolchain.

Thêm PPA công cụ / thử nghiệm:

Để thêm PPA vào hệ thống của bạn, hãy mở một thiết bị đầu cuối ( Ctrl+ Alt+ t) và chạy các lệnh sau:

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

Bạn cũng sẽ được nhắc cài đặt một số gói được đề xuất. Các gói này được khuyến nghị, nhưng tùy chọn, để cài đặt gcc-4.8.

Những tính năng C ++ nào có sẵn trong gcc-4.8 không có trong gcc-4.7.2?

  • Theo GNU.ORG , gcc-4.7, hỗ trợ một số tính năng của C ++ 11 .
  • Kể từ phiên bản gcc-4.8, gcc-4.7 không hỗ trợ 8 trong số 64 tính năng (Xem Hỗ trợ C ++ 0x / C ++ 11 trong GCC )

  • Những tính năng này là:

    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 
    
  • Đối với một danh sách đầy đủ của những thay đổi trong gcc-4.8, xem sách thay đổi

Bây giờ tôi cần các tính năng gcc này vào ngày 12.04. Làm thế nào tôi có thể nhận được chúng?

Xây dựng GCC-4.8 từ nguồn:

Nếu bạn cần gcc-4.8 vào ngày 12.04 bây giờ, tùy chọn duy nhất của bạn là xây dựng nó từ nguồn .

Vui lòng đọc Câu hỏi thường gặp về cài đặt GCC trước khi cài đặt.

Bạn có thể tải xuống gcc-4.8 từ một trong các trang nhân bản của gnu.org hoặc trực tiếp từ máy chủ SVN của họ .

Dưới đây là ví dụ về các bước để biên dịch từ nguồn (xem tại đây để biết thêm chi tiết.) Lưu ý rằng những bước này có thể thay đổi tùy theo hệ thống và sở thích của bạn.

  1. Tải về mã nguồn

    • Tạo một thư mục xây dựng ( mkdir gcc-build && cd gcc-build)
    • Tải xuống tệp nguồn: wget http://www.netgull.com/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2(điều chỉnh lệnh này để sử dụng trang nhân bản thích hợp .
    • Giải nén tệp ( tar -xvjf <file name>)
  2. Cài đặt một số thư viện bổ sung ( sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev)

  3. Biên dịch nguồn: ./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0
  4. Chạy make(Việc này sẽ mất một chút thời gian để hoàn thành. Đi pha cà phê hoặc nướng một ít bánh quy. ;-))
  5. Cài đặt mã: sudo make install

Khi quá trình này đã hoàn tất, hãy chạy lệnh gcc --versionđể xác minh rằng việc cài đặt đã hoàn tất thành công. Bạn sẽ thấy một cái gì đó tương tự như đầu ra sau đây:

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.

Điểm mấu chốt: Cảm ơn tất cả những người cung cấp dễ dàng cài đặt backport Ubuntu cho bạn. Cung cấp cho họ một số cookie mà bạn nướng trong khi chạy make. ;-)


Câu trả lời tuyệt vời, ngoại trừ:E: Unable to locate package gcc-4.8
John Dibling

2
Cài đặt các thư viện bổ sung là không đủ đối với tôi, nhưng chạy đã ./contrib/download_prerequisites.shsửa nó (từ stackoverflow.com/questions/9253695/ mẹo ).
Gauthier

7
Lưu ý: Tôi cũng đã phải cài đặt gói g ++ - 4.8 (ngoài gcc-4.8) để có thể biên dịch mã C ++. Nếu không, tôi đã nhận được lỗi biên dịch : gcc: error trying to exec 'cc1plus': execvp: No such file or directory 4.8.
Boris Dalstein

Tôi đã có thể cài đặt thành công gcc4.8 trên Chính xác
Homunculus Reticulli

1
@ John Dibling - Chắc chắn phương thức tiếp xúc sẽ cài đặt các tệp, tuy nhiên như vậy bạn không bao giờ xây dựng bất kỳ gói nào cũng như cài đặt bất kỳ ... do đó bạn không thể tìm thấy nó (chúng) :-). Vâng có một cách nhanh chóng để xây dựng tự động các gói sử dụng thư mục debian từ liên kết . Tôi đã thực hiện thành công cho các gói khác. Giải pháp này sẽ cài đặt Tất cả các gói liên quan bao gồm g ++, v.v ...
Antonio

1

Vì vậy, trả lời các công trình trên, ít nhất là để cài đặt bằng tay. Mặc dù sau đó sudo make install, chạy gccvẫn chỉ chạy phiên bản chứng khoán 4.6.3. Ngay cả cố gắng gcc-4.8hoặc gcc-4.8.0không làm việc. Chạy /app/gcc/4.8.0/bin/gccdường như là điều duy nhất phù hợp với tôi. Tôi có nghĩa là nó là khập khiễng nhưng ít nhất nó hoạt động.


5
[: facepalm:] Trước khi bạn gọi những thứ "khập khiễng" có lẽ bạn nên nâng cấp kiến ​​thức hệ điều hành của mình. Bạn có thể bắt đầu với việc đọc lên khái niệm về PATH: en.wikipedia.org/wiki/PATH_(variable)
pszilard

1
Chắc chắn là cũng vậy, vì bạn không cài đặt bất kỳ gói nào với tập lệnh DEBIAN / postinst, bạn phải đặt thủ công phiên bản mặc định để hệ thống của bạn sử dụng thông qua cmd thay thế cập nhật . dòng ... Nếu bạn đã sử dụng --prefix = / usr thì không cần phải can thiệp với PATH ...
Antonio
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.