Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

buildworld speedup

1 view
Skip to first unread message

Eugene Grosbein

unread,
Jan 7, 2022, 10:01:03 PM1/7/22
to
Привет!

При обновлении FreeBSD исходниками через buildworld
вначале выпоняется этап bootstrap, когда установленный
компилятор пересобирает возможно обновленный новый
компилятор и ещё некоторые библиотеки и утилиты и использует их
для сборки остальной системы.

Hынешний Clang/LLVM страшно растолстели и собираются очень долго.
Внезапно обнаружил, что при минорном апгрейде их можно ВООБЩЕ
не собирать и мой домашний роутер теперь вместо почти трех часов
тратит на пересборку своего образа всего 43 минуты после добавления
в src.conf (или в CONF_BUILD для nanobsd) следующего:

WITHOUT_CLANG_BOOTSTRAP=
WITHOUT_LLD_BOOTSTRAP=
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=
WITHOUT_TOOLCHAIN=

Это в дополнение к WITHOUT_CLANG= и WITHOUT_LLDB=,
с которыми сборка шла почти три часа из-за бутстраппинга.

Hо есть теоретическая опасность напороться на несовместимость
свежих исходников со старым компилятором, об этом надо помнить.
При минорном обновлении попробую пользоваться этим, при мажорном нет.

Eugene
--
Все любят естественный наркотик

Eugene Grosbein

unread,
Jan 7, 2022, 10:01:03 PM1/7/22
to
08 янв. 2022, суббота, в 09:39 NOVT, Eugene Grosbein написал(а):

EG> Hынешний Clang/LLVM страшно растолстели и собираются очень долго.
EG> Внезапно обнаружил, что при минорном апгрейде их можно ВООБЩЕ
EG> не собирать и мой домашний роутер теперь вместо почти трех часов
EG> тратит на пересборку своего образа всего 43 минуты после добавления
EG> в src.conf (или в CONF_BUILD для nanobsd) следующего:

Уточнение: моя сборка использует ещё MODULES_WITH_WORLD=
то есть, 43 минуты включают в себя не только buildworld,
но и сборку всех ядерных модулей (но не самого ядра).

Eugene

Eugene Grosbein

unread,
Jan 8, 2022, 12:01:02 AM1/8/22
to
08 янв. 2022, суббота, в 09:39 NOVT, Eugene Grosbein написал(а):

EG> WITHOUT_TOOLCHAIN=

Вот эта настройка отменяет установку компилятора и сопутствующих
утилит в систему, оно для образа nanobsd годится, но для обычных
систем не факт.

Eugene

Alex Korchmar

unread,
Jan 9, 2022, 1:01:03 AM1/9/22
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> WITHOUT_TOOLCHAIN=
EG> Это в дополнение к WITHOUT_CLANG= и WITHOUT_LLDB=,
после этого make delete-old выносит из установленной системы к херам компилятор ;-)
вместе с тулчейном и lldb-ненужно.

Ты хотя бы предупреждай нубов, что-ли.

> Alex

Eugene Grosbein

unread,
Jan 9, 2022, 8:01:03 AM1/9/22
to
09 янв. 2022, воскресенье, в 08:43 NOVT, Alex Korchmar написал(а):

EG>> WITHOUT_TOOLCHAIN=
EG>> Это в дополнение к WITHOUT_CLANG= и WITHOUT_LLDB=,
AK> после этого make delete-old выносит из установленной системы к херам
AK> компилятор
AK> ;-)
AK> вместе с тулчейном и lldb-ненужно.
AK> Ты хотя бы предупреждай нубов, что-ли.

Эмм, я никогда не делаю delete-old, это диверсия.

Eugene
--
Поэты - страшные люди. У них все святое.

Alex Korchmar

unread,
Jan 9, 2022, 9:01:03 AM1/9/22
to
Eugene Grosbein <Eugene....@f1.n5006.z2.fidonet.org> wrote:

EG> Эмм, я никогда не делаю delete-old, это диверсия.
ну начинается... Я вот делаю, это хороший способ избавиться от всякого
мусора застрявшего с момента установки бинарным способом
(причем потенциально дырявого, поскольку WITHOUT... и он не обновляется).


> Alex

Sergey Anohin

unread,
Jan 9, 2022, 1:01:03 PM1/9/22
to
Hello, Alex!

AK> ну начинается... Я вот делаю, это хороший способ избавиться от всякого
AK> мусора застрявшего с момента установки бинарным способом
AK> (причем потенциально дырявого, поскольку WITHOUT... и он не обновляется).

+1, какие грабли из-за этого ловил, что-то не собиралось вроде, не помню уже.
после portupgare -farR --batch или как его там, можно делать make delete old
или что там old libs,
забыл уже...

С наилучшими пожеланиями, Sergey Anohin.

Eugene Grosbein

unread,
Jan 12, 2022, 12:01:02 AM1/12/22
to
09 янв. 2022, воскресенье, в 16:43 NOVT, Alex Korchmar написал(а):

EG>> Эмм, я никогда не делаю delete-old, это диверсия.
AK> ну начинается... Я вот делаю, это хороший способ избавиться от всякого
AK> мусора застрявшего с момента установки бинарным способом
AK> (причем потенциально дырявого, поскольку WITHOUT... и он не обновляется).

Этот "мусор" не мешает, но оно позволяет не ломать то, что работает.

Eugene
--
И кого не любишь, в лицо не знать, и смотреть на звезды и жить спокойно.
0 new messages