LINUX.ORG.RU

Сборка модуля ядра

 ,


0

1

При попытке собрать модуль ядра, подменяющий стандартный обработчик прерываний от клавиатуры по мануалу (http://www.tldp.org/LDP/lkmpg/2.6/html/x1256.html), при компиляции появляются ошибки типа: error: macro "INIT_WORK" passed 3 arguments, but takes just 2 INIT_WORK(&task, got_char, &scancode);

error: ‘INIT_WORK’ undeclared (first use in this function) INIT_WORK(&task, got_char, &scancode);

error: ‘SA_SHIRQ’ undeclared (first use in this function) SA_SHIRQ, "test_keyboard_irq_handler",

Версия ядра Linux 4.4.0-101-generic.

С чем это может быть связано?

error: ‘INIT_WORK’ undeclared (first use in this function)

error: ‘SA_SHIRQ’ undeclared (first use in this function)

Очевидно, какие-то HEADER-файлы не были найдены, а потому и переменные не определены.

Как вариант, модуль твой предназначен для совсем других ядер (типа 2.4.х), а в 4.4.0-101-generic эти переменные попросту выпилены.

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

Или у него просто нет исходников ядра.

r3lgar ★★★★★
()

2.6
4.4.0-101
undeclared

Ожидаемо. Такое бывает вылезает и на минорных изменениях. Было бы удивительно, если б собралось.

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