Come installo l'ultimo gcc su FreeBSD?


10

Come posso installare l'ultima versione di gccFreeBSD e configurare il sistema in modo che questa ultima versione venga utilizzata per compilare altri programmi?

Al momento in cui scrivo, l'ultima versione di gccè la versione 4.9.0. E io uso FreeBSD 10.0.

In realtà ho bisogno g++, il compilatore C ++; ma devo installare qualcosa come gcc49pacchetto per questo, giusto?


Dp vuoi compilare tutte le porte con GCC o ti serve solo GCC?
Raphael Ahrens,

Vorrei gcccompilare il mio software. E forse le porte che installerei dopo, se ciò può essere fatto.
Nickolai Leschov,

Ricorda che ci sono diversi rami da cui puoi scaricare software da FreeBSD: unix.stackexchange.com/a/433876/128489
Mateusz Piotrowski

Risposte:


16

Puoi installare GCC 4.9 costruendolo dalle porte con

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

o se hai portmaster

portmaster -DHB lang/gcc49

o se preferisci i pacchetti con

pkg install lang/gcc49

Se cambi lang/gcc49a lang/gccinstallare la versione stabile più recente di GCC attualmente è GCC 4.7.

Quando vuoi costruire tutte le tue porte con GCC invece di Clang devi modificare /etc/make.confe aggiungere

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

e modifica /etc/libmap.confe aggiungi lì

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

Ecco un articolo di FreeBSD.org che spiega questo in modo più dettagliato.

Ma non hai davvero bisogno di GCC per le porte, tutte le porte che dipendono già da GCC useranno GCC.

Modificare:

E sì, g++verrà installato con tutte le porte GCC.


4
Si noti che ora lang/gcc5esiste anche.
PythonNut

2
e lang/gcc7(dicembre 2017)
troncato il

lang / gcc installa la versione più recente di gcc.
user917099

@ user917099 Non sempre alcune volte lang / gcc è indietro di una o due versioni. Al momento in cui la risposta è stata scritta lang/gccnon puntava a lang/gcc49.
Raphael Ahrens,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.