2009-01-15 35 views
28

Chúng tôi có một ứng dụng mới yêu cầu glibc 2.4 (từ gcc 4.1). Máy chúng tôi đã chạy trên có gcc 3.4.6. Chúng tôi không thể nâng cấp và ứng dụng phải được chạy trên máy này.Cách sử dụng nhiều phiên bản GCC

Chúng tôi đã cài đặt gcc 4.1, tuy nhiên, khi nói đến thời gian biên dịch, nó đang sử dụng tất cả các gói, v.v ..., từ 3.4.6.

Làm cách nào để giải quyết vấn đề này?

Bất kỳ đề xuất nào về việc sử dụng 4.1 chỉ cho ứng dụng này?

Trả lời

21

Tham khảo "Cách cài đặt nhiều phiên bản GCC" here trong Câu hỏi thường gặp về GCC của GNU.

Ngoài ra còn có giấy trắng here.

3

Bạn đã thử gcc-select chưa? Nếu không, hãy thử đặt INCLUDE_PATHLIBRARY_PATH trong vỏ của bạn.

+0

không thể tìm thấy nữa, bất kỳ ý tưởng nào nếu gói này vẫn tồn tại hoặc đã thay đổi tên? – claf

+0

Điều đó nghe giống như một thứ phân phối cụ thể. Nhắc tôi về Gentoo hoặc Debian nhưng tôi không chắc chắn. –

+0

gentoo cụ thể – dave

2

Bạn vẫn có thể thực thi gcc cũ. Hãy thử thực hiện một liên kết tượng trưng từ gcc để các phiên bản của nó, như

ln -s gcc-4.1 gcc 

Cẩn thận không loại bỏ một "gcc" cũ nhị phân đặt ở đó, trong trường hợp họ đặt không chỉ là một liên kết tượng trưng. Nếu bạn có thể biên dịch lại phiên bản gcc của riêng mình, thì an toàn nhất chỉ sử dụng tiền tố khác tại thời điểm cấu hình của gcc, giống như --prefix=/home/jojo/usr/gcc (tôi đã làm theo cách đó với gcc-4.4 từ svn-trunk và nó hoạt động tốt).

Lưu ý rằng chỉ cần chạy phiên bản gcc phù hợp. Nếu bạn cập nhật gcc, glibc của bạn cũng sẽ không được cập nhật tự động. Đó là một gói riêng biệt được kết hợp sâu sắc với phần còn lại của hệ thống. Hãy cẩn thận khi cài đặt phiên bản glibc khác.

+0

Bạn có thể xem đầu ra của ls -l để xem liệu gcc trong một thư mục có phải là một tệp hay một liên kết tượng trưng hay không. –

0

cho Ubuntu nó khá dễ dàng

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

sudo apt-get update

và sau đó cài đặt cho ví dụ: gcc version 6

sudo apt-get install gcc-6

Các vấn đề liên quan