GCC, не выполнимый на FreeBSD

У меня была та же проблема несколько лет назад из-за виджета GUI, который искал системные обновления и который блокировал диспетчер пакетов.

Можно, возможно, проверить запуск приложения GUI (включая виджет, systray), чтобы быть уверенными, что никто связанный с управлением пакетом не открыт.

4
11.05.2015, 09:47
1 ответ

Начиная с FreeBSD 10 Clang является новым компилятором по умолчанию.

Вы можете попробовать скомпилировать свой код с помощью Clang, или вам нужно установить версию GCC, как вы это сделали.

Но до перехода на Clang FreeBSD использовала GCC версии 4.2, а двоичный файл этого GCC был / usr / bin / gcc , поэтому более новые порты GCC должны были называть двоичный файл по-другому.

Из-за этого все порты GCC имеют двоичный файл с именем / usr / local / bin / gccXY , где XY - номер версии.

Когда вы устанавливаете gcc4.7 на FreeBSD, вы не получаете / usr / local / bin / gcc из-за старого поведения, вместо этого вы получаете / usr / local / bin / gcc47`.

Короче говоря, если вы хотите скомпилировать свой код с помощью GCC 4.7, вам нужно использовать gcc47 , а не gcc .

Но, возможно, вам стоит попробовать Clang, поскольку всегда полезно скомпилировать код с помощью разных компиляторов, чтобы увидеть, зависит ли ваш код от компилятора. Потому что, если он не компилируется, ваш код, вероятно, сломан или вы обнаружили ошибку компилятора, что здорово.

Также взгляните на Почему FreeBSD отказывается от GCC в пользу Clang / LLVM?

6
27.01.2020, 20:52

Теги

Похожие вопросы