[d-kernel] Invalid kernel header included in userspace

Sergey Vlasov vsu at altlinux.ru
Mon Dec 8 15:08:28 MSK 2003


On Mon, Dec 08, 2003 at 02:46:18PM +0300, Grigory Batalov wrote:
>   У меня есть утилита tpctlir из пакета tpctl, включающая
> и выключающая инфракрасный порт на некоторых ноутбуках IBM
> ThinkPad (600-х серий). При сборке в хэшере выходит на неё
> ругань:
> 
> <skip>
> cc -pipe -Wall -O2 -march=i586 -mcpu=i686 -Wcast-align -Wstrict-prototypes -o tpctlir tpctlir.c
> In file included from /usr/include/linux/config.h:4,
>                  from /usr/include/asm/system.h:4,
>                  from tpctlir.c:1:
> /usr/include/linux/autoconf.h:1:2: #error Invalid kernel header included in userspace
> <skip>
> 
>   Хотя в обычной системе она собирается. Я проверил, конечным
> в цепочке является файл /var/run/kernel/autoconf.h из пакета
> kernel-headers-common-1.1.3-alt1. В дереве хэшера этого файла
> нет, и указание в Buildreq соответствующего пакета не помогает.
> Наверное, он специально блокируется.
> 
>   Исходник tpctlir прилагаю. Похоже, весь сыр-бор разгорелся
> из-за функций cli() и sti(). Прошу совета, как, всё-таки,
> собрать эту программу в пакет.

Какой ужас - cli() в userspace...

В принципе можно посчитать эту программу ядернозависимой и потребовать
установки настоящих заголовков ядра с помощью BuildRequires:
kernel-headers-std.

Или можно спереть определения __cli() и __sti() из asm/system.h (просто
cli() и sti() не сработают в случае CONFIG_SMP).  А inb/outb есть в
sys/io.h.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : /pipermail/devel-kernel/attachments/20031208/77696f21/attachment.bin


More information about the devel-kernel mailing list