At Thu, 05 Jun 2008 01:12:28 +1000, Ben Stanley wrote:
So, if config.h is not needed in 'newer' kernels (and causes an error?), and is needed in 'older' kernels, it is then an error to universally include it in a configure test program where it causes an error if used inappropriately...
Well, apparently it's only RH kernels that cause the problem. So I haven't cared about it at all.
I think the error is not noticed in newer newer kernels because init_utsname is defined in newer newer kernels. (I should look into this statement some more.)
The problem is, as usual, RH kernels backported init_utsname in a different way than the upstream. This makes things really hard.
Takashi
I think it comes down to figuring out the point between 'newer' and 'older' kernels and modifying the configure test appropriately to use or not use config.h as required. I'm not sure how that should be done.
Ben.
On Wed, 2008-06-04 at 14:15 +0200, Takashi Iwai wrote:
At Fri, 30 May 2008 09:37:43 +1000, Ben Stanley wrote:
[PING]
I need some help on this one. I don't know how to determine whether or not the config.h file should be included in the test program or not.
config.h is needed for older kernels indeed.
Takashi
Ben Stanley.
On Fri, 2008-05-23 at 22:20 +1000, Ben Stanley wrote:
Further to my previous email,
The config.log file shows the following output for the test for init_utsname in the case of the RHEL 5.1 kernel 2.6.18-53.1.19:
configure:10792: checking for init_utsname configure:10822: gcc -c -Wall -fno-strict-aliasing -g -O2 -I/lib/modules/2.6.18-53.1.19.el5/build/include -I/lib/modules/2.6.18-53.1.19.el5/source/include -Iinclude -nostdinc -iwithprefix include -DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(dummy) -DKBUILD_MODNAME=KBUILD_BASENAME -Werror conftest.c >&5 In file included from conftest.c:52: /lib/modules/2.6.18-53.1.19.el5/build/include/linux/config.h:6:2: error: #warning Including config.h is deprecated. configure:10828: $? = 1 configure: failed program was:
I think it is failing because of the config.h warning.
Ben Stanley.