Linux redhat заголовки ядра - PullRequest
0 голосов
/ 31 июля 2009

Я пытаюсь скомпилировать пакет программирования c (thc-ipv6-0.7) в Linux Redhat 2.6.9-42.ELsmp и жалуется, что не может найти "linux / string.h".

Из Google я узнал, что это часть пакета "kernel-headers".

Если я сделаю "rpm -qa | grep kernel"

Это показывает, что «kernel-devel» установлен (что, я думаю, мне нужно), но не «kernel-headers».

"find / -name string.h" показывает, что string.h действительно присутствует в системе, во многих местах, включая "/usr/include".

Я попытался добавить "-I / usr / include" в файл make, но получил ту же ошибку.

У меня вопрос: нужно ли устанавливать «заголовки ядра», и если да, где его найти и какую версию?

1 Ответ

2 голосов
/ 31 июля 2009

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

Сообщение жалуется на "linux / string.h", а не на "string.h", поэтому вы должны добавить каталог с linux в качестве подкаталога.

Я не достаточно разбираюсь в redhat, чтобы знать, как их устанавливать (вероятно, это команда rpm) и куда они будут устанавливаться (с помощью Debian и производных программ вы должны использовать -I / usr / src / linux- ядро-версия / включить ").

...