2

Я пытаюсь собрать новейшую версию 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.

1 ответ1

2

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

$ yum provides */selinux.h

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .