Як встановити останній gcc на FreeBSD?


10

Як встановити останню версію gccна FreeBSD та налаштувати систему, щоб ця остання версія використовувалася для компіляції подальших програм?

На даний момент написання цього повідомлення останній реліз gcc- версія 4.9.0. І я використовую FreeBSD 10.0.

Мені насправді потрібен g++компілятор C ++; але мені потрібно встановити щось на зразок gcc49пакету для цього, правда?


Дп, ви хочете скласти всі порти з GCC або вам потрібен просто GCC?
Рафаель Аренс

Я хотів би gccскласти своє програмне забезпечення. І, можливо, порти, які я встановив би після цього, якщо це можна зробити.
Микола Лещів

Пам'ятайте, що існують різні гілки, з яких можна завантажити програмне забезпечення з FreeBSD: unix.stackexchange.com/a/433876/128489
Матеуш Піотровський

Відповіді:


16

Ви можете встановити GCC 4.9, побудувавши його з портів

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

або якщо у вас є portmaster

portmaster -DHB lang/gcc49

або якщо ви віддаєте перевагу пакети з

pkg install lang/gcc49

Якщо ви змінюєте lang/gcc49до lang/gccвам буде встановити останню версію стабільної GCC в даний час це GCC 4.7.

Коли ви хочете створити всі свої порти за допомогою GCC замість Clang, вам доведеться відредагувати /etc/make.confта додати

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

і відредагуйте /etc/libmap.confта додайте там

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

Ось стаття з FreeBSD.org, яка пояснює це більш докладно.

Але вам не потрібен GCC для портів, всі порти, які вже залежать від GCC, будуть використовувати GCC.

Редагувати:

І так, g++буде встановлено з усіма портами GCC.


4
Зауважте, що зараз lang/gcc5також існує.
PythonNut

2
та lang/gcc7(грудень 2017 р.)
усічений

lang / gcc встановила б останню версію gcc.
користувач917099

@ user917099 Не завжди кілька разів lang / gcc відстає одна чи дві версії. У той час, коли відповідь була написана, lang/gccне вказували lang/gcc49.
Рафаель Аренс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.