Wie installiere ich das neueste gcc unter FreeBSD?

10

Wie installiere ich die neueste gccVersion auf FreeBSD und richte das System so ein, dass diese neueste Version zum Kompilieren weiterer Programme verwendet wird?

Zum Zeitpunkt dieses Schreibens ist die neueste Version von gccVersion 4.9.0. Und ich benutze FreeBSD 10.0.

Ich brauche eigentlich g++den C ++ - Compiler; aber ich muss so etwas wie ein gcc49Paket dafür installieren , oder?

Nickolai Leschov
quelle
Dp Sie möchten alle Ports mit GCC kompilieren oder benötigen Sie nur GCC?
Raphael Ahrens
Ich möchte gccmeine Software kompilieren. Und vielleicht die Ports, die ich danach installieren würde, wenn das möglich wäre.
Nickolai Leschov
Denken Sie daran, dass es verschiedene Branchen gibt, von denen Sie Software auf FreeBSD herunterladen können: unix.stackexchange.com/a/433876/128489
Mateusz Piotrowski

Antworten:

16

Sie können GCC 4.9 installieren, indem Sie es aus Ports mit erstellen

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

oder wenn du hast portmaster

portmaster -DHB lang/gcc49

oder wenn Sie Pakete mit bevorzugen

pkg install lang/gcc49

Wenn Sie zu wechseln lang/gcc49, lang/gccinstallieren Sie die aktuellste stabile Version von GCC. Dies ist derzeit GCC 4.7.

Wenn Sie alle Ihre Ports mit GCC anstelle von Clang erstellen möchten, müssen Sie diese bearbeiten /etc/make.confund hinzufügen

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

und dort bearbeiten /etc/libmap.confund hinzufügen

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

Hier ist ein Artikel von FreeBSD.org, der dies ausführlicher erklärt.

Sie benötigen GCC jedoch nicht wirklich für die Ports. Alle Ports, die bereits von GCC abhängen, verwenden GCC.

Bearbeiten:

Und ja, g++wird mit allen GCC-Ports installiert.

Raphael Ahrens
quelle
4
Beachten Sie, dass jetzt lang/gcc5auch existiert.
PythonNut
2
und lang/gcc7(Dezember 2017)
abgeschnitten
lang / gcc würde die neueste Version von gcc installieren.
user917099
@ user917099 Nicht immer ist lang / gcc manchmal eine oder zwei Versionen dahinter. Zu der Zeit, als die Antwort geschrieben lang/gccwurde, zeigte nicht auf lang/gcc49.
Raphael Ahrens