[О блоге] [наверх] [пред] [2020-03-04 22:09:16+03:00] [1987b66d6f85861d1789d025d68a10934623988e]
Темы: [bsd]

GCC удалён из FreeBSD

https://www.opennet.ru/opennews/art.shtml?num=52470
С ходу я не знаю как относится к этой новости. Скорее негативно, но по
мелочам. 1) Я сторонник свободного ПО, сторонник GPLv3 и мне не приятно
видеть что BSD-шники не приемлют новые версии GCC из-за её лицензии. Их
право. Как бы я не любил BSD мир, но то, что он весь из себя не любит
GPL мне в нём сильно не нравится. 2) LLVM тупо долго ждать пока он
соберётся. Раньше когда я собирал FreeBSD, то ждал в разы (как мне
кажется) меньше, а сейчас наверное 80-90% всего времени я жду только
сборки LLVM+Clang в составе ОС. Может быть и современные версии GCC тоже
долго собираются -- если так, то тогда этот аргумент отпадает.

LLVM действительно я замечал что для мультимедиа делает менее
производительные сборки. Но это я замечал 5-7 лет назад. Сейчас возможно
разница уже нивелирована. В любом случае я готов хоть десятки процентов
падения производительности терпеть, если оно того стоит. К сожалению
особо во всём этом мире C/C++ не сильно разбираюсь. Но, как минимум,
видел именно в LLVM-е нормальные разукрашенные, удобочитаемые сообщения
об ошибках, что даже мне, при сборке всякого софта, очень помогало.
Насколько слышал, это был пинок GCC чтобы и он также удобно сделал в
своих будущих версиях (что он и сделал).

Я всю ОС и все пакеты собираю полностью из исходников. Буквально
несколько пакетов (один это UEFI для bhyve -- его просто точно запомнил,
другой это BLAS/LAPACK/что-то-такое) требуют явного использования GCC.
Всё остальное -- собирается и работает без проблем с LLVM/Clang-ом. То
есть, жить на LLVM можно без проблем. Да и вообще, как бы я не уважал
GNU софт за качество, надёжность и производительность, но многое из GNU
я даже принципиально использовать не буду: например Bash (zsh для
интерактива во всём лучше, а так dash/sh), Screen (tmux однозначно
лучше), tar (libarchive в FreeBSD используется в tar и спокойно делает
PAX архивы, покрывая почти все потребности). Собственно сейчас у меня в
системе из GNU стоят:

* automake, binutils, m4 -- это для всякой сборки. Де-факто, ничего
  страшного.
* diffutils -- честно говоря, не знаю для чего, кто-то подтянул за
  собой, но ничего я сам оттуда не использую.
* gdbm -- тоже кто-то подтянул, почему бы и нет.
* getopt, gettext -- де-факто, работает.
* gmake -- к сожалению, очень многое использует GNU Make, это чуть ли не
  единственное что в обязательном порядке надо ставить.
* gnu-watch -- это чисто я использую. Крайне редко, но штука удобная.
* gnupg, gnutls -- ну тут альтернатив нет, как и нареканий.
* gnugrep, gsed -- это ставлю уже я. Они работают на порядок (как
  минимум в разы) быстрее чем BSD аналоги. Качественно меняют работу в
  лучшую сторону. GNU sed не помню когда явно запускаю, а вот GNU grep
  каждый день постоянно в действии.
* gtar -- скорее всего, кто-то тянет по зависимостям, но сам я давно не
  запускал его. BSD/libarchive tar достаточно хорош.

    [оставить комментарий]