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)
Ответ на: комментарий от grem

у llvm все бинарники начинаются на llvm-*

bhfq ★★★★★
()

Раньше gold/bfd можно было менять в binutils-config ))

readlink -f /usr/bin/ld

Мож там gold ))

vasily_pupkin ★★★★★
()

Посмотри в eselect gcc list и в eselect binutils list стоит ли звездочка на нужной версии

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

make clean в исходниках ядра делал после обновления gcc?

xaTa ★★★
()

clang не хочет «переваривать» переход на python3_7

у меня норм, версия 9.0.1

grem ★★★★★
()

gold linker

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

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

Kroz ★★★★★
()
binutils-config --list-profiles
binutils-config --linker ld.bfd PROFILE

и еще

USE=-default-gold
anonymous
()
Ответ на: комментарий от vasily_pupkin

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

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

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 1)
[  +0,000000] Linux version 5.7.0-rc4-sandybridge (root@buildbox.local) (clang version 11.0.0-++20200508052611+c5e0967e4cf-1~exp1~20200508153218.35, LLD 11.0.0) #202005090001 TRIXY SMP Sat May 9 06:02:57 UTC 2020
Rx0
()
Ответ на: комментарий от Kroz

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

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

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

Как бы пошло это ни прозвучало… Я ядро генкернелом собирал =) Мне последнее время что-то совсем стало лениво ковыряться.

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

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

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

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

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

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

ИМХО это bfd нужно ставить по дефолту, а на gold переключаться только там, где доказанно есть профит. Проблем будет меньше.

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

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

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

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

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

beresk_let ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.