LINUX.ORG.RU

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

te111011010
()

В итоге скачал отсюда: https://github.com/aircrack-ng/rtl8812au все собралось без ошибок, потом сделал modprobe 8812au и после ребута все заработало.

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

как лечить?

В ядре Linux всё постоянно меняется, и функции могут переезжать из одних заголовков в другие. Функция signal_pending() переехала из «linux/sched.h» в «linux/sched/signal.h». Нужно добавить #include <linux/sched/signal.h> в те файлы, где эта функция используется.

Или собирать со старыми ядрами. Хотя бы с тем ядром, для которого инструкция писалась.

i-rinat ★★★★★
()
Ответ на: комментарий от te111011010

Если не ошибаюсь, надо сказать компилятору gcc, чтобы он не считал варнинги ошибками.

Ты ошибаешься.

Точно с ходу не скажу.

Пожалуйста, не давай откровенно неправильных советов. Хотя неявная декларация функций и считается предупреждением, это почти всегда ошибка. Если вдруг так случится, что неявно объявленная функция действительно реализована в другой единице трансляции (тут это не так, потому что функция реализована целиком в хедере), то есть немалый шанс словить странный баг, если вдруг параметры разойдутся. Такие баги очень неприятно отлаживать, поэтому и используют -Werror=implicit-function-declaration. Убирать этот параметр — глупо.

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

Функция signal_pending() переехала из «linux/sched.h» в «linux/sched/signal.h»

Зачем они так делают? Есть какая-то техническая необходимость?

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

Зачем они так делают?

Это уменьшает число «Ugh», «Argh!» при кодировании, снижает стресс, и увеличивает производительность на 10-20%.

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