Where in the RHEL is my version.h file?

Kevin Brown kevin_brown at qwest.net
Tue Mar 7 18:08:10 MST 2006


>>> I'm trying to install the ALSA driver package (yes, that one ...)
>>>  under CentOS 4.2.  Here's where I'm hung up:
>>> 
>>> ./configure --with-cards=sb16 --with-sequencer=yes \ 
>>> --with-kernel=/usr/src/linux-2.6.9-11.EL
>>> 
>>> I get this message: checking for kernel version... The file 
>>> /usr/src/linux-2.6.9-11.EL/include/linux/version.h does not
>>> exist. Please, install the package with full kernel sources for
>>> your distribution ...
>>> 
>>> It speaks the truth.  The file isn't there, and I think it should
>>> be.
>>> 
>>> This was after a few attempts.  I installed 
>>> kernel-sourcecode-2.6.9-11.EL and the directory 
>>> /usr/src/linux-2.6.9-11.EL/include/linux is present, but the 
>>> version.h file does not exist there.
>> 
>> Pretty much a RH noob mistake.  In older versions of RH it was part
>> of the kernel-devel package.  Last I checked that got changed to be
>> the glibc-kernheaders package.  Any rpm that says source in the
>> name or is type src.rpm is usually not what you want to install to
>> solve a dependency problem.  You install source packages (those
>> with source in the name) if you intend to compile it from scratch
>> in the usual methods (e.g. ./configure && make && make install).
>> You would use .src.rpm files if you were going to rebuild a package
>> from scratch for your systems with maybe some customization (e.g.
>> rpmbuild --rebuild package.src.rpm).
>> 
>>> A number of the header files in that directory do have includes
>>> for <linux/version.h> ... so I searched for any directory or link
>>>  system-wide named "linux" that might satisfy linux/version.h.
>>> Struck out again.
>>> 
>>> I searched the system for all the version.h files, thinking I
>>> could find one to link to, but they all look application specific
>>> except for /usr/include/linux/version.h.  That is a strange
>>> looking file:
>>> 
>>> #define UTS_RELEASE "2.4.20" #define LINUX_VERSION_CODE 132116 
>>> #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
>>> 
>>> The numbers here don't look right.  And I'm on 2.6.9-22.0.2.EL #1
>>>  according to uname -a.
>>> 
>>> So ... I'd appreciate any ideas as to how to find (or create?) a 
>>> version.h file to meet the needs of this ./configure script.  I 
>>> haven't yet tried hacking into the configure script itself, and
>>> hope to avoid that . . .

> Thanks, Kevin.  I think you are advising me to install
> glibc-kernheaders to get the headers to build these drivers.  I'll
> try that tonight.

That is correct.  That is the package that should contain the missing 
header file.

> I also assume that the rest of your paragraph was just talking about 
> when I *would* want to install source, which doesn't apply to my 
> problem right now.  Right?  This is a tarball install for the
> drivers, downloaded from ALSA; the normal rpm installs don't cover
> sb16.

That is also correct.

> I installed kernel-sourcecode after seeing advice on a forum, which 
> apparently solved this problem for somebody.   Did that install the
> full source for the kernel?  If so, can I uninstall kernel-sourcecode
> without breaking anything?  I'm short on disk space.

You don't need the kernel-source rpm unless you intend to build the 
kernel with your own configuration options.

rpm -e kernel-source


More information about the PLUG-discuss mailing list