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...
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.)
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.