LINUX.ORG.RU

Всё, приплыли. Не собирается ядро 5.4.38

 , ,


0

1

Что-то в последнее время система так и норовит рассыпаться. Ладно, можно понять, почему clang не хочет «переваривать» переход на python3_7, но вот это:

~ # make oldconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --oldconfig Kconfig
scripts/Kconfig.include:39:  gold linker 'ld' not supported
make[1]: *** [scripts/kconfig/Makefile:73: oldconfig] Ошибка 1
make: *** [Makefile:567: oldconfig] Ошибка 2

Вот уточнение по заветному адресу:

sed -n 38p scripts/Kconfig.include 
# Fail if the linker is gold as it's not capable of linking the kernel proper

Уже совсем атас. Вот ума не приложу, ГДЕ он у меня в системе вообще нашёл ld.gold?

Само собой, ни menuconfig, ни nconfig, ни ручное копирование и редактирование .config с попыткой собрать это не работает - абсолютно та же ошибка.

Как системе без ядра-то работать? Тупик, копать дальше некуда, это только у меня или так и должно быть?

Уже совсем атас. Вот ума не приложу, ГДЕ он у меня в системе вообще нашёл ld.gold?

Какой гентушник нынче беспомощный пошел.

strace -e execve -ff make oldconfig 2>&1 | grep -v NOENT
kawaii_neko ★★★ ()

Вот похожий баг: https://bugs.gentoo.org/687116

Ты чем ядро то собираешь? Не прописывал ли случаем для него что-нибудь в package.env?

И что не так с clang + python3_7 (его пересборку я пока отложил, всё равно сейчас не использую).

ld.cold, емнип, это линкер от llvm.

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)

gold linker

Объясните мне, глупому, зачем это?

Насколько я понял, он ускоряет скорость сборки (линковки), но не скорость работы программ. А скорость линковки - это менее 10% от общего времени всего процесса «превращения исходников в установленный пакет». Так во имя чего?

Kroz ★★★★★ ()
Ответ на: комментарий от vasily_pupkin

Это не актуально, пока ты не собираешь что-то очень жирное с LTO, например

Ну тогда это имеет смысл использовать только для отдельных пакетов, вроде firefox, qtwebkit, но никак не глобально в системе. И точно не для ядра, glibc, и других фундаментальных вещей.

Kroz ★★★★★ ()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от Kroz

А скорость линковки - это менее 10% от общего времени всего процесса «превращения исходников в установленный пакет»

Зависит от. Линковка LLVM с включенным LTO например несколько часов сожрать может.

Stil ★★★★★ ()
Ответ на: комментарий от Stil

Зависит от. Линковка LLVM с включенным LTO например несколько часов сожрать может.

Только ты сразу уточни на каких пакетах, и какой это % от всего процесса.

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

Для таких случаев в самих ебилдах предусмотрено принудительное переключение на ld.bfd. С ядром, понятное дело, не срабатывает, потому что его собираешь самостоятельно.

beresk_let ★★★★★ ()

Прошу простить мою неоправданную панику - решение нашло меня само. Я как раз обновлял систему специально до плановой замены жёсткого диска(сделан бекап, разумеется). Оказывается, рассыпаться норовила не система, а сам диск, что он успешно и сделал. Вовремя!

Восстановленная система на новом накопителе работает без ошибок.

SM5T001 ()