Where in the RHEL is my version.h file?
Kevin Brown
kevin_brown at qwest.net
Tue Mar 7 18:24:23 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.
>>
>> 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.
>>
>> 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.
> ----
> actually - no it doesn't
>
> you will undoubtedly find it in /usr/src/redhat/SOURCES and can find it
> there.
Nope, that is where .src.rpm files install to. The kernel-source.rpm
most likely installed to /usr/src/linux or /usr/src/kernel-version.
> I'm not entirely certain that installing the glibc-kernheaders is gonna
> give you what you want but it is enough to compile kernel modules.
Which would be what he is wanting. Trying to build a module without the
needed headers is hard. The headers, IIRC, are dynamically generated
during the kernel build process and so wouldn't be found in either the
-source or .src.rpm file directly.
> Just out of curiosity...does the soundblaster hardware show up when you
> do 'lspci -v' ?
More information about the PLUG-discuss
mailing list