[Гайд] Как пофиксить большинство ошибок при сборке ядра. Как отключить Werror'ы и gcc-wrapper.

[Гайд] Как пофиксить большинство ошибок при сборке ядра. Как отключить Werror'ы и gcc-wrapper.

Олег Кротенко

Привет, Читатель! Сегодня у нас максимально полезный пост, он напрямую связан с темой о сборке ядра. Без долгих рассусоливаний, погнали.

Сегодня в посте будет:

  1. Что это такое?
  2. Примеры
  3. Как выключить
  4. Результат

1) Что делает gcc-wrapper? Это python-скрипт, который проверяет компиляцию на предупреждения (warning'и) и делает из них ошибки (error'ы). То есть, если при сборке появился варнинг, то он будет считаться за ошибку и компиляция прекратится.
А что же делает Werror? Он делает тоже самое, только он не все варнинги превращает в ошибки. Это не скрипт, а флаг (дополнительный параметр), который указывается при компилировании файла. В нашем случае он будет указан в основной Makefile в папке с ядром.

2) Пример ошибки, вызваной Werror'ом:

Если в сторке с ошибкой есть слово [-Werror=какие-то-слова], значит, эта ошибка вызвана флагом -Werror в Makefile'е.

2.1) Пример ошибки вызваной gcc-wrapper'ом показать не смогу, но скажу, как "вычислить" её. Если появился варнинг (это написано на одной или нескольких строках), а в конце (после строк с предупреждениями) пишется, что это ошибка, значит, тут замешан этот самый враппер.

3) Покажу сначала, как выключить gcc-wrapper, а потом Werror'ы:

3.1) Открываем Makefile, он будет весить ~60-65 КБ (буду всё показывать в ES проводнике).
3.2) Пишем в поиск слово

gcc-wrapper.py

И сносим всё, оставляя только слово $(REAL_CC):

Было


Стало

Если же у тебя нету такого в твоём Makefile'е, значит враппер уже выключил умный чел, который загрузил исходники.

3.2) Теперь ищи слово

-Werror

И полностью теперь сноси слова, содержащие в себе слово -Werror, примеры:

Было


Стало
Было
Стало

И в таком же духе работаешь, пока больше Werror'ов не останется.

3.3) Сохраняешь, выходишь.

4) Результат:

Ошибки больше нет

Эта статья тоже очень полезная тем людям, которые только-только начали собирать ядра и ещё многого не знают. Спасибо за прочтение. До скорой встречи, Читатель.

Помогает мне с грамотным написанием текста этот человек - @dodge45.

Купить чай или кофе ему или мне можно тут:
ЯндексДеньги:
410015253696418
ВебМани:
R688369468990
ПриватБанк:
4731219612842256

Report Page