Bagaimana cara menginstal gcc terbaru di FreeBSD?


10

Bagaimana cara menginstal yang terbaru gccpada FreeBSD dan mengatur sistem sehingga versi terbaru ini akan digunakan untuk mengkompilasi program lebih lanjut?

Pada saat penulisan ini, rilis terbaru gccadalah versi 4.9.0. Dan saya menggunakan FreeBSD 10.0.

Saya sebenarnya membutuhkan g++, kompiler C ++; tapi saya perlu menginstal sesuatu seperti gcc49paket untuk itu, bukan?


Dp Anda ingin mengkompilasi semua port dengan GCC atau Anda hanya perlu GCC?
Raphael Ahrens

Saya ingin gccmengkompilasi perangkat lunak saya. Dan mungkin port yang akan saya instal setelah itu, jika itu bisa dilakukan.
Nickolai Leschov

Ingatlah bahwa ada beberapa cabang berbeda yang dapat Anda unduh dari perangkat lunak di FreeBSD: unix.stackexchange.com/a/433876/128489
Mateusz Piotrowski

Jawaban:


16

Anda dapat menginstal GCC 4.9 dengan membangunnya dari port dengan

cd /usr/port/lang/gcc49; make install clean

atau jika sudah portmaster

portmaster -DHB lang/gcc49

atau jika Anda lebih suka paket dengan

pkg install lang/gcc49

Jika Anda mengubah lang/gcc49ke lang/gccAnda akan menginstal versi stabil terbaru dari GCC saat ini GCC 4.7.

Ketika Anda ingin membangun semua port Anda dengan GCC alih-alih Dentang Anda harus mengedit /etc/make.confdan menambahkan

.if !empty(.CURDIR:M/usr/ports/*) && exists(/usr/local/bin/gcc49)
CC=gcc49
CXX=g++49
CPP=cpp49
.endif

dan edit /etc/libmap.confdan tambahkan di sana

libgcc_s.so.1   gcc49/libgcc_s.so.1
libgomp.so.1    gcc49/libgomp.so.1
libobjc.so.3    gcc49/libobjc.so.4
libssp.so.0     gcc49/libssp.so.0
libstdc++.so.6  gcc49/libstdc++.so.6

Ini adalah artikel dari FreeBSD.org yang menjelaskan ini secara lebih rinci.

Tetapi Anda tidak benar-benar membutuhkan GCC untuk porta, semua porta yang sudah bergantung pada GCC akan menggunakan GCC.

Edit:

Dan ya g++akan diinstal dengan semua port GCC.


4
Perhatikan bahwa sekarang lang/gcc5juga ada.
PythonNut

2
dan lang/gcc7(Desember 2017)
terpotong

lang / gcc akan menginstal versi gcc terbaru.
user917099

@ user917099 Tidak selalu beberapa waktu, lang / gcc adalah satu atau dua versi di belakang. Pada saat jawabannya ditulis lang/gcctidak menunjuk lang/gcc49.
Raphael Ahrens
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.