Mailing List Archive

[PATCH] Change default KERNEL_DIR location and add KBUILD_OUTPUT
Setting KERNEL_DIR to the build symlink in /lib/modules is wrong. The
build symlink points to the location of generated object files and the
extension tests use KERNEL_DIR to check the availability of certain
source files. The tests will fail, if build and source point to
different locations. Change KERNEL_DIR from build to source and
introduce KBUILD_OUTPUT for the build symink.
Re: [PATCH] Change default KERNEL_DIR location and add KBUILD_OUTPUT [ In reply to ]
Sven Wegener wrote:
> Setting KERNEL_DIR to the build symlink in /lib/modules is wrong. The
> build symlink points to the location of generated object files and the
> extension tests use KERNEL_DIR to check the availability of certain
> source files.

Good point.

> The tests will fail, if build and source point to
> different locations. Change KERNEL_DIR from build to source and
> introduce KBUILD_OUTPUT for the build symink.


What do we need KBUILD_OUTPUT for? Just the source tree should be enough.
Re: [PATCH] Change default KERNEL_DIR location and add KBUILD_OUTPUT [ In reply to ]
On Sun, Jul 15, 2007 at 04:34:24PM +0200, Patrick McHardy wrote:
> Sven Wegener wrote:
> > Setting KERNEL_DIR to the build symlink in /lib/modules is wrong. The
> > build symlink points to the location of generated object files and the
> > extension tests use KERNEL_DIR to check the availability of certain
> > source files.
>
> Good point.
>
> > The tests will fail, if build and source point to
> > different locations. Change KERNEL_DIR from build to source and
> > introduce KBUILD_OUTPUT for the build symink.
>
> What do we need KBUILD_OUTPUT for? Just the source tree should be enough.

For current kernels, true. Older kernels (before 2006-04-26) and the
whole 2.6.16.y series have a bug where include/linux/netfilter_ipv4.h
includes linux/config.h which includes linux/autoconf.h which is placed
into KBUILD_OUTPUT. Just changing KERNEL_DIR from build to source should
be enough for recent kernels. For older kernels building the iptables
package will fail with "linux/autoconf.h: No such file or directory"
unless we add the KBUILD_OUTPUT bit. That's why I added it. Do we want
to have this workaround here?

Sven
Re: [PATCH] Change default KERNEL_DIR location and add KBUILD_OUTPUT [ In reply to ]
Sven Wegener wrote:
> On Sun, Jul 15, 2007 at 04:34:24PM +0200, Patrick McHardy wrote:
>
>>What do we need KBUILD_OUTPUT for? Just the source tree should be enough.
>
>
> For current kernels, true. Older kernels (before 2006-04-26) and the
> whole 2.6.16.y series have a bug where include/linux/netfilter_ipv4.h
> includes linux/config.h which includes linux/autoconf.h which is placed
> into KBUILD_OUTPUT. Just changing KERNEL_DIR from build to source should
> be enough for recent kernels. For older kernels building the iptables
> package will fail with "linux/autoconf.h: No such file or directory"
> unless we add the KBUILD_OUTPUT bit. That's why I added it. Do we want
> to have this workaround here?


I don't see why not. A short comment in the Makefile explaining the
situation would be nice though.
Re: [PATCH] Change default KERNEL_DIR location and add KBUILD_OUTPUT [ In reply to ]
On Sun, Jul 15, 2007 at 05:33:50PM +0200, Patrick McHardy wrote:
> I don't see why not. A short comment in the Makefile explaining the
> situation would be nice though.

Updated patch attached.
Re: [PATCH] Change default KERNEL_DIR location and add KBUILD_OUTPUT [ In reply to ]
Sven Wegener wrote:
> On Sun, Jul 15, 2007 at 05:33:50PM +0200, Patrick McHardy wrote:
>
>> I don't see why not. A short comment in the Makefile explaining the
>> situation would be nice though.
>>
>
> Updated patch attached.
>

Applied, thanks Sven.