[ovs-dev] Bug#659685: Bug#659685: fails to build the kernel module
Simon Horman
horms at verge.net.au
Mon Feb 13 00:49:54 PST 2012
On Mon, Feb 13, 2012 at 04:10:06PM +0800, Thomas Goirand wrote:
> Package: openvswitch-datapath-dkms
> Version: 1.4.0-1
> Severity: grave
>
> Hi there!
>
> First, thanks for maintaining OVS, this is a very nice software, which
> I will use with XCP (for which I'm working on the packaging, together
> with people from Citrix).
>
> Now, the less nice stuff... :)
>
> openvswitch-datapath-dkms fails to build its kernel module when I tried
> to install it in SID. Here's the relevant log:
>
> Building module:
> cleaning build area....(bad exit status: 2)
> ./configure --with-linux=/usr/src/linux-headers-3.1.0-1-686-pae ; make -C datapath/linux......(bad exit status: 2)
> Error! Bad return status for module build on kernel: 3.1.0-1-686-pae (i686)
> Consult /var/lib/dkms/openvswitch/1.4.0/build/make.log for more information.
>
> and the make.log contains:
>
> make: Entering directory `/var/lib/dkms/openvswitch/1.4.0/build/datapath/linux'
> make: *** No targets specified and no makefile found. Stop.
> make: Leaving directory `/var/lib/dkms/openvswitch/1.4.0/build/datapath/linux'
>
> I believe that the step building the Makefile was never run (but I didn't
> investigate more and used the module-assistant version). Indeed:
Strange, I think that the Makefile should be created by ./configure,
which features in the debian/dkms.conf.in.
Would it be possible for you to provide your make.log?
> root@<hostname>:~# ls /var/lib/dkms/openvswitch/1.4.0/build/datapath/linux
> compat Kbuild.in Makefile.in Makefile.main.in Modules.mk
>
> If I add in debian/dkms.conf.in something like this:
> -MAKE="./configure --with-linux=/usr/src/linux-headers-`uname -r` ; make -C datapath/linux"
> +MAKE="./configure --with-linux=/usr/src/linux-headers-`uname -r` ; cp datapath/linux/Makefile.in datapath/linux/Makefile ; cp datapath/linux/Makefile.main.in datapath/linux/Makefile.main ; make -C datapath/linux"
>
> then I have further errors:
>
> checking for Linux source directory... configure: error: cannot find source directory (please use --with-linux-source)
> make: Entering directory `/var/lib/dkms/openvswitch/1.4.0/build/datapath/linux'
> Makefile.main:8: @abs_srcdir@/../Modules.mk: No such file or directory
> Makefile.main:9: @abs_srcdir@/Modules.mk: No such file or directory
> Makefile.main:55: *** Linux kernel source not configured - missing
> version.h. Stop.
> make: Leaving directory `/var/lib/dkms/openvswitch/1.4.0/build/datapath/linux'
That figures. The Makefile should be created using Makefile.in
as a template and part of that process is to substitute @..@ sequences
for their desired values.
> Note that *I do* have linux-headers-3.1.0-1-686-pae,
> linux-headers-3.1.0-1-common and linux-kbuild-3.1 installed on my server,
> so it should be able to find what it needs. I used 3.1 because 3.2 just
> crashes when I boot with it, but as I wanted to make sure, I also tried
> to install and run Linux 3.2, and the issue was the same (so it's not a
> Debian Linux 3.1 kernel specific issue, it's really general, and also is
> present when running with latest 3.2 kernel in SID).
>
> This "makes the package unusable", which in Debian books is an RC bug.
> A fix correcting this issue ASAP would be really appreciated. :)
Curiously installing openvswitch-datapath-dkms 1.4.0-1 does seem
to work for me, also 3.1 but on amd64, though that may be a legacy
of my environment. I'll try and set up pbuilder on this machine
to test that theory, but it may not be until tomorrow.
More information about the dev
mailing list