Попытка скомпилировать основной модуль linux для usb-звуковой карты Line6 UX2.
Получил код из репо и пытаюсь сделать. Репо нет ./configure
Ошибка создания продукта:
line6linux-code-r1108/driver/trunk/driver.c:169:2: error: implicit declaration of function ‘setup_timer’; did you mean ‘del_timer’? [-Werror=implicit-function-declaration]
setup_timer(timer, function, data);
^~~~~~~~~~~
del_timer
C функция setup_timer () объявляется в пакете linux-linux-headers. На данный момент это linux-headers-4.18.0-16
Конечно, он установлен в месте по умолчанию / usr / src /
Код, который выдает ошибку (driver.c):
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/timer.h>
#include <linux/export.h>
#include <linux/slab.h>
#include <linux/usb.h>
#include <sound/core.h>
#include <sound/initval.h>
#include "capture.h"
#include "driver.h"
#include "midi.h"
#include "playback.h"
... some code here
/*
Setup and start timer.
*/
void line6_start_timer(struct timer_list *timer, unsigned long msecs,
void (*function)(unsigned long), unsigned long data)
{
setup_timer(timer, function, data); // <-- string 169
mod_timer(timer, jiffies + msecs_to_jiffies(msecs));
}
EXPORT_SYMBOL_GPL(line6_start_timer);
Так что, очевидно, компилятор не может найти заголовки linux. Как я могу это исправить?
Также на основе файла INSTALL следует, что драйвер был написан для версии ядра linux-headers-2.6.x и теперь это 4.18.0-16.
И еще от INSTALL: для других дистрибутивов, пожалуйста, обратитесь к документации, чтобы узнать, какой пакет вы должны установить.
Все потеряно?
ОС Ubuntu 18.10
Linux 4.18.0-16-generic # 17-Ubuntu SMP пт 8 февраля 00:06:57 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux