LINUX.ORG.RU

Проблема компиляции ядра linux 5.16

 ,


0

1

Привет, хочу отметить, что не заметил этой ошибки прошлом ядре

Лог ошибки:

KernelUpdate/linux-5.16/tools/objtool/check.o
check.c: In function ‘validate_call’:
check.c:2836:58: error: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 9 [-Werror=format-truncation=]
 2836 |                 snprintf(pvname, sizeof(pvname), "pv_ops[%d]", idx);
      |                                                          ^~
check.c:2836:50: note: directive argument in the range [0, 1073741823]
 2836 |                 snprintf(pvname, sizeof(pvname), "pv_ops[%d]", idx);
      |                                                  ^~~~~~~~~~~~
check.c:2836:17: note: ‘snprintf’ output between 10 and 19 bytes into a destination of size 16
 2836 |                 snprintf(pvname, sizeof(pvname), "pv_ops[%d]", idx);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check.c:2836:58: error: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 9 [-Werror=format-truncation=]
 2836 |                 snprintf(pvname, sizeof(pvname), "pv_ops[%d]", idx);
      |                                                          ^~
check.c:2836:50: note: directive argument in the range [0, 1073741823]
 2836 |                 snprintf(pvname, sizeof(pvname), "pv_ops[%d]", idx);
      |                                                  ^~~~~~~~~~~~
check.c:2836:17: note: ‘snprintf’ output between 10 and 19 bytes into a destination of size 16
 2836 |                 snprintf(pvname, sizeof(pvname), "pv_ops[%d]", idx);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check.c:2836:58: error: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 9 [-Werror=format-truncation=]
 2836 |                 snprintf(pvname, sizeof(pvname), "pv_ops[%d]", idx);
      |                                                          ^~
check.c:2836:50: note: directive argument in the range [0, 1073741823]
 2836 |                 snprintf(pvname, sizeof(pvname), "pv_ops[%d]", idx);
      |                                                  ^~~~~~~~~~~~
check.c:2836:17: note: ‘snprintf’ output between 10 and 19 bytes into a destination of size 16
 2836 |                 snprintf(pvname, sizeof(pvname), "pv_ops[%d]", idx);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
/KNOPPIX.build/KernelUpdate/linux-5.16/tools/build/Makefile.build:96: ошибка выполнения рецепта для цели «/KNOPPIX.build/KernelUpdate/linux-5.16/tools/objtool/check.o»
make[6]: *** [/KNOPPIX.build/KernelUpdate/linux-5.16/tools/objtool/check.o] Ошибка 1
Makefile:55: ошибка выполнения рецепта для цели «/KNOPPIX.build/KernelUpdate/linux-5.16/tools/objtool/objtool-in.o»
make[5]: *** [/KNOPPIX.build/KernelUpdate/linux-5.16/tools/objtool/objtool-in.o] Ошибка 2
Makefile:69: ошибка выполнения рецепта для цели «objtool»
make[4]: *** [objtool] Ошибка 2
Makefile:1348: ошибка выполнения рецепта для цели «tools/objtool»
make[3]: *** [tools/objtool] Ошибка 2
debian/rules:7: ошибка выполнения рецепта для цели «build-arch»
make[2]: *** [build-arch] Ошибка 2
dpkg-buildpackage: ошибка: debian/rules binary subprocess returned exit status 2
scripts/Makefile.package:73: ошибка выполнения рецепта для цели «deb-pkg»
make[1]: *** [deb-pkg] Ошибка 2
Makefile:1554: ошибка выполнения рецепта для цели «deb-pkg»
make: *** [deb-pkg] Ошибка 2



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

Зачем ты компилируешь ядро, если даже текст ошибки на простом английском языке понять не можешь? Установи дефолтное.

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

почему?кое-что я понимаю. а у тебя есть какие-то соображения?

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

у меня был пачальный опыт установки по дуфолту.

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

да, ты прав.

Программа наказывается поиковая система, самая популярная - google. Достаточно легко находит, что такое -Werror

DMITRY
()
Ответ на: комментарий от detes42325

процесс сборки ядра не зависит от дистрибутива (конечно если его не надо опакечивать)

DMITRY
()

-Werror скорее для разработчиков. Отключается в конфигураторе ядра.

pandrey ★★
()

Убери Werror из флагов компиляции, думаю, ты знаешь, как это сделать, иначе зачем ты вообще взялся за компиляцию ядра?

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

я это делаю по превычке. Слушай, я порылся в конфиге. Можно ли наглядно сказать где убирать? Извини, конечно.

nicholas_ru
() автор топика

cc1: all warnings being treated as errors

там в ядре сейчас по дефолту включено вот это -Werror но ядро должно собираться если ты его не патчил ручками.

всего скорее ТС что-то не договаривает.

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

но ядро должно собираться если ты его не патчил ручками

В данном случае не должно, баг в апстриме. https://lore.kernel.org/all/20220114075756.838243-1-slyich@gmail.com/T/ Видать, CONFIG_STACK_VALIDATION никто не включает, вот и дожил сентябрьский баг аж до нового года. А может дело в gcc-12. Как бы то ни было, достаточно отключить в конфиге эту опцию, даже необязательно глобально -Werror отключать.

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

Я просто изменил check.c в две строки. Все работает, спасибо.

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