Saya mencoba banyak solusi untuk menginstal pembaruan untuk kompiler gcc saya di server debian. Tidak ada yang berhasil. Saya memerlukan pembaruan kompiler untuk menggunakan fitur baru c ++ 11, karena ini memberikan ABI libcxx11 yang stabil, dan dukungan stabil untuk C ++ 11 (lihat di sini ). Khusus mendapatkan versi `GLIBCXX_3.4.21 'yang tidak termasuk dalam versi gcc kompiler saya saat ini 4.9.2 (Debian 4.9.2-10).
Beberapa petunjuk untuk solusi akan sangat membantu. Terima kasih sebelumnya.
Beberapa tautan ke forum yang terkait dengan masalah saya yang sudah saya coba:
1 2 3 (solusi yang tidak sepenuhnya terkait adalah untuk ubuntu, tapi saya belum menemukan gcc-5 di server ftian dari debian)
testing
, tapi itu mungkin bukan ide yang baik di server (tergantung pada apa yang Anda maksud dengan server tentu saja). Peralihan dari gcc 4.9 ke gcc 5 melibatkan transisi perpustakaan, jadi Anda berada dalam dunia kesakitan jika Anda mencoba melakukannya sendiri!testing
(digunakan sendiri): paket kadang-kadang dihapus untuk sementara waktu (jadi pengaturan yang baru saja Anda validasi dalam pengujian Anda VM mungkin tidak lagi tersedia dengan mudah) , dan perbaikan keamanan dapat ditunda (terkadang untuk waktu yang lama jikatesting
sedang mengalami transisi perpustakaan besar, meskipun adatesting-security
untuk kasus seperti itu).Jawaban:
Saya membutuhkan GCC 5+ diinstal pada debian jessie dan, seperti yang tersedia untuk pengujian debian (setidaknya pada Juni-16) Anda dapat menggunakan apt-pinning untuk menginstal paket yang tersedia di sana (lihat https://wiki.debian.org/AptPreferences ) .
Untuk menginstal GCC 5+ dari pengujian pada debian jessie menggunakan apt-pinning:
Tambahkan repo pengujian debian ke sumber apt Anda dengan membuat file di direktori yang
/etc/apt/sources.list.d
berisi barisdeb http://ftp.us.debian.org/debian testing main contrib non-free
Instruksikan debian untuk menggunakan sumber pengujian pada paket tertentu dengan membuat file
/etc/apt/preferences.d
berisi yang berikut ini:Perbarui database yang tepat:
sudo apt-get update
Instal gcc dari pengujian:
sudo apt-get install -t testing gcc
Perhatikan bahwa menggunakan
-t testing
Anda memberitahu apt-get untuk menginstal gcc dari sumber pengujian seperti yang dikonfigurasi sebelumnya.Saya sangat menyarankan untuk membersihkan kompilasi dan kompilasi ulang ketergantungan sebelum mengkompilasi sumber Anda lagi.
Selamat bersenang-senang!
sumber
pip
) , tapi saya pikir prosedur ini adalah yang paling tidak invasif karenaapt
akan melacak paket mana yang tergantung pada GCC dan akan menginstal versi yang kompatibel sesuai kebutuhan (sejauh yang saya ingat).Pin-Priority
paket didapat, semakin banyak preferensi yang didapat dari paket lain dengan angka lebih rendah. Jadi, seperti dalam status halaman AptPrefences Debian ,testing
secara defaultPin-Priority: 900
membuat semua paket tidaktesting
dapat diinstal secara default. Jadi, menentukan bahwatesting
akan memiliki prioritas paket yang lebihPin-Priority: 100
rendahtesting
menjadikannya dapat diinstal hanya jika diminta ketika menentukan target diapt-get install -t testing ...
Package: gcc
upgrade seluruh sistem untuk pengujian. Dokumentasi tentangapt-prefences
membingungkan jadi saya kira inilah yang terjadi: 1: Karena paket dari pengujian memiliki versi yang lebih besar, secara default mereka lebih diutamakan daripada yang standar 2: Menentukan Paket:gcc
denganPin-priority: 100
membuat semua paket dari pengujian memiliki prioritas default (lebih tinggi dari standar) kecualigcc
. Justru sebaliknya yang kami inginkan. Saya memperbarui jawaban untuk menghindari kesalahan iniUntuk menggabungkan 2 jawaban sebelumnya menjadi jawaban yang berfungsi:
TAPI!!! Gunakan ini dengan risiko Anda sendiri saat Anda menginstal paket dari tidak stabil. Anda mungkin juga ingin menghapus
/etc/apt/sources.list.d/unstable.list
setelah Anda menginstal paket.Jika memungkinkan, instal di bawah Docker agar Anda tidak mengacaukan OS Anda. Jarak tempuh Anda mungkin beragam.
sumber
Mulai 2017-02-19, gcc-5 telah dihapus dari pengujian:
https://tracker.debian.org/pkg/gcc-5
Anda bisa
apt-get install gcc-5
jika Anda pertama kali mengeksekusi baris ini sebagai root:Kemudian, Anda mungkin ingin mengubah prioritas sumber itu
/etc/apt/preferences.d
sesuai jawaban llekn.sumber
Saya mengalami masalah minggu lalu; sepertinya pada 2019-01-23 gcc-5 telah dihapus dari repositori sepenuhnya. (Lihat https://tracker.debian.org/pkg/gcc-5 )
Jika Anda benar-benar membutuhkannya saya kira Anda bisa mengkompilasinya dari sumber. Saya akan menemukan cara untuk menghilangkan ketergantungan dari sistem saya.
sumber