0
votes

I'm trying to compile a c programming package (thc-ipv6-0.7) on Linux Redhat 2.6.9-42.ELsmp and it's complaining that it can't find "linux/string.h".

From google, I learned that this is part of the "kernel-headers" package.

If I do "rpm -qa | grep kernel"

It shows that "kernel-devel" is installed (which I think I need), but not "kernel-headers".

A "find / -name string.h" reveals string.h is in fact on the system, in many places, including "/usr/include".

I tried adding "-I/usr/include" to the make file, but got the same error.

My question is, do I need to install "kernel-headers", and if so, where do I find it, and what version?

1
Did you try "yum install kernel-headers"?Robert Gamble
I did try that, in fact. But yum wasn't installed, IIRC.Jack BeNimble

1 Answers

2
votes

Normally, you have to install the version of those headers which correspond to the version of the kernel run by the system on which you'll execute the program. In your case in you want to run locally, 2.6.9-42.

The message complains about "linux/string.h" and not "string.h", so you have add a directory having linux as subdirectory.

I'm not knowledgeable enough about redhat to know how to install them (probably an rpm command) and where they will be installed (with Debian and derivatives put them you have to use -I/usr/src/linux-kernel-version/include").