Установка заголовков selinux

Я пытаюсь собрать новейшую версию glibc (2.19) для CentOS 5.6 и столкнулся с некоторыми проблемами.

В документации по glibc сказано, что мне нужны как минимум заголовки ядра Linux 2.6.19 (даже если это не то ядро, которое я использую). Я пытался установить заголовки, используя

make headers_install INSTALL_HDR_PATH=/root/kernel/headers/ 

Эта команда завершается, не жалуясь на то, что что-то идет не так, но когда я собираюсь собрать glibc после настройки с

/root/glibc/glibc-2.19-source/configure --prefix=/root/glibc/glibc-2.19/ --enable-kernel=2.6.18 --with-headers=/root/kernel/headers/include
make -j 12

make встречает ошибку

#include <selinux/selinux.h> selinux/selinux.h: no such file or directory

Я думаю, что заголовки selinux должны быть в /root/kernel/headers/include, потому что я читал в википедии:

Он был интегрирован в основную ветку ядра Linux с версии 2.6, 8 августа 2003 г.

Я посмотрел в /root/kernel/header/include и нет папки с именем selinux

У меня такой вопрос: следует ли устанавливать заголовки selinux вместе с остальными заголовками ядра, и если да, то как мне их установить?

Я использую gcc 4.9.0 и binutils 2.24. Моя текущая версия glibc 2.5. Моя версия ядра 2.6.18

Обратите внимание, что я не хочу мириться с большим временем простоя и не хочу менять активные версии ядра или вообще заменять мой текущий glibc.

2 ответа

Вы можете легко узнать, какой пакет обеспечивает выдачу конкретного файла:

$ yum provides */selinux.h

У меня нет CentOS 5.9, чтобы попробовать его, но, скорее всего, результат будет kernel-devel а также libselinux-devel пакеты.

Вы всегда должны использовать заголовки ядра, которые соответствуют ядру, которое вы используете.

Во время компиляцииsystemdЯ столкнулся с ошибкой

      In file included from ../src/shared/env-file-label.c:7:
../src/shared/selinux-util.h:13:10: fatal error: selinux/selinux.h: No such file or directory
   13 | #include <selinux/selinux.h>
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.

Упаковкаlibselinux-devработал над Ubuntu 22

      $ apt install libselinux-dev
Другие вопросы по тегам