[dpdk-dev] [PATCH 1/2] build: fix kernel compile on cross-build

Bruce Richardson bruce.richardson at intel.com
Thu Apr 19 18:12:51 CEST 2018


On Thu, Apr 19, 2018 at 03:46:14PM +0000, Hemant Agrawal wrote:
> > -----Original Message-----
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Bruce Richardson
> > 
> > When cross-compiling, if no kernel_dir was specified, then the kernel modules
> > were still being compiled for the build machine. Fix this by only building modules
> > on cross-compile when we have a kernel_dir value set.
> > 
> > Fixes: a52f4574f798 ("igb_uio: build with meson")
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> > ---
> >  meson.build | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> > 
> > diff --git a/meson.build b/meson.build
> > index cc16595cb..9e3b44931 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -26,10 +26,14 @@ subdir('config')
> > 
> >  # build libs and drivers
> >  subdir('lib')
> > -subdir('kernel')
> >  subdir('buildtools')
> >  subdir('drivers')
> > 
> > +# build kernel modules if we have a kernel path, or we are not cross
> > +compiling if get_option('kernel_dir') != '' or not meson.is_cross_build()
> > +	subdir('kernel')
> > +endif
> 
> [Hemant] actually kernel_dir may not be always available on host.
>  So unless kernel_dir is available - irrespective of host/cross - it 
>  shall not try kernel compilation. 
> 

Well, for many native builds the kernel directory can be computed by
looking at `uname -r`, but which won't work for cross-compilation. Given
that there is already an option to disable kernel module compilation
completely, I think that the default for native builds should be try and
build modules for the running kernel.

However, we could certainly add in a check to see if the kernel sources are
available, and optionally not build them in that case - i.e. convert the
error due to non-existant kernel headers into a warning message. Do you
think that might be a good compromise?

/Bruce


More information about the dev mailing list