Dave Benson
2014-10-09 15:49:23 UTC
ovs module build failing on kernel version 3.11 (ubuntu 13.10).
This problem does not occur when building for kernel version 3.13 (ubuntu
14.04).
I performed a fresh clone of OVS, built for debian, installed common
package, tried to install datapath-dkms package - which failed compilation.
(Originally found this when catching up to latest master while preparing a
patch - created a brand new workspace to confirm the problem.)
Suspect this is due to recent patch named 'datapath: Add support for RHEL-7
/ CentOS-7 kernel.'. Previously, datapath/inux/compat/include/net/vxlan.h
tested for kernel version 3.12 or better, if true it would include_next
<net/vxlan.h>. Now it tries to include it even if kernel version is 3.11.
The file net/vxlan.h does not exist prior to kernel version 3.12.
What I did:
git clone https://github.com/openvswitch/ovs.git
./boot.sh
./configure
DEB_BUILD_OPTIONS='parallel=3' fakeroot debian/rules binary
Build was successful, then did:
dpkg -i openvswitch-common_2.3.90-1_amd64.deb
dpkg -i openvswitch-datapath-dkms_2.3.90-1_all.deb
Output as follows:
(Reading database ... 451459 files and directories currently installed.)
Preparing to replace openvswitch-datapath-dkms 2.1.90-PBBR1.1 (using
openvswitch-datapath-dkms_2.3.90-1_all.deb) ...
-------- Uninstall Beginning --------
Module: openvswitch
Version: 2.1.90
Kernel: 3.11.0-26-generic (x86_64)
-------------------------------------
Status: Before uninstall, this module version was ACTIVE on this kernel.
openvswitch.ko:
- Uninstallation
- Deleting from: /lib/modules/3.11.0-26-generic/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod......
DKMS: uninstall completed.
------------------------------
Deleting module version: 2.1.90
completely from the DKMS tree.
------------------------------
Done.
Unpacking replacement openvswitch-datapath-dkms ...
Setting up openvswitch-datapath-dkms (2.3.90-1) ...
Creating symlink /var/lib/dkms/openvswitch/2.3.90/source ->
/usr/src/openvswitch-2.3.90
DKMS: add completed.
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area....(bad exit status: 2)
./configure --with-linux='/lib/modules/3.11.0-26-generic/build' && make -C
datapath/linux..........(bad exit status: 2)
Error! Bad return status for module build on kernel: 3.11.0-26-generic
(x86_64)
Consult /var/lib/dkms/openvswitch/2.3.90/build/make.log for more
information.
emacs /var/lib/dkms/openvswitch/2.3.90/build/make.log&
The following is copied from end of log...
make -C /lib/modules/3.11.0-26-generic/build
M=/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux modules
make[1]: Entering directory `/usr/src/linux-headers-3.11.0-26-generic'
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/actions.o
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/datapath.o
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/dp_notify.o
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/flow.o
CC [M]
/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/flow_netlink.o
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/flow_table.o
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/vport.o
CC [M]
/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/vport-geneve.o
In file included from
/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/vport-geneve.c:34:0:
/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/compat/include/net/vxlan.h:11:28:
fatal error: net/vxlan.h: No such file or directory
#include_next <net/vxlan.h>
^
compilation terminated.
make[2]: ***
[/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/vport-geneve.o]
Error 1
make[1]: ***
[_module_/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.11.0-26-generic'
make: *** [default] Error 2
make: Leaving directory
`/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux'
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/discuss/attachments/20141009/566546a1/attachment-0001.html>
This problem does not occur when building for kernel version 3.13 (ubuntu
14.04).
I performed a fresh clone of OVS, built for debian, installed common
package, tried to install datapath-dkms package - which failed compilation.
(Originally found this when catching up to latest master while preparing a
patch - created a brand new workspace to confirm the problem.)
Suspect this is due to recent patch named 'datapath: Add support for RHEL-7
/ CentOS-7 kernel.'. Previously, datapath/inux/compat/include/net/vxlan.h
tested for kernel version 3.12 or better, if true it would include_next
<net/vxlan.h>. Now it tries to include it even if kernel version is 3.11.
The file net/vxlan.h does not exist prior to kernel version 3.12.
What I did:
git clone https://github.com/openvswitch/ovs.git
./boot.sh
./configure
DEB_BUILD_OPTIONS='parallel=3' fakeroot debian/rules binary
Build was successful, then did:
dpkg -i openvswitch-common_2.3.90-1_amd64.deb
dpkg -i openvswitch-datapath-dkms_2.3.90-1_all.deb
Output as follows:
(Reading database ... 451459 files and directories currently installed.)
Preparing to replace openvswitch-datapath-dkms 2.1.90-PBBR1.1 (using
openvswitch-datapath-dkms_2.3.90-1_all.deb) ...
-------- Uninstall Beginning --------
Module: openvswitch
Version: 2.1.90
Kernel: 3.11.0-26-generic (x86_64)
-------------------------------------
Status: Before uninstall, this module version was ACTIVE on this kernel.
openvswitch.ko:
- Uninstallation
- Deleting from: /lib/modules/3.11.0-26-generic/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod......
DKMS: uninstall completed.
------------------------------
Deleting module version: 2.1.90
completely from the DKMS tree.
------------------------------
Done.
Unpacking replacement openvswitch-datapath-dkms ...
Setting up openvswitch-datapath-dkms (2.3.90-1) ...
Creating symlink /var/lib/dkms/openvswitch/2.3.90/source ->
/usr/src/openvswitch-2.3.90
DKMS: add completed.
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area....(bad exit status: 2)
./configure --with-linux='/lib/modules/3.11.0-26-generic/build' && make -C
datapath/linux..........(bad exit status: 2)
Error! Bad return status for module build on kernel: 3.11.0-26-generic
(x86_64)
Consult /var/lib/dkms/openvswitch/2.3.90/build/make.log for more
information.
emacs /var/lib/dkms/openvswitch/2.3.90/build/make.log&
The following is copied from end of log...
make -C /lib/modules/3.11.0-26-generic/build
M=/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux modules
make[1]: Entering directory `/usr/src/linux-headers-3.11.0-26-generic'
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/actions.o
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/datapath.o
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/dp_notify.o
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/flow.o
CC [M]
/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/flow_netlink.o
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/flow_table.o
CC [M] /var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/vport.o
CC [M]
/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/vport-geneve.o
In file included from
/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/vport-geneve.c:34:0:
/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/compat/include/net/vxlan.h:11:28:
fatal error: net/vxlan.h: No such file or directory
#include_next <net/vxlan.h>
^
compilation terminated.
make[2]: ***
[/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux/vport-geneve.o]
Error 1
make[1]: ***
[_module_/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.11.0-26-generic'
make: *** [default] Error 2
make: Leaving directory
`/var/lib/dkms/openvswitch/2.3.90/build/datapath/linux'
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/discuss/attachments/20141009/566546a1/attachment-0001.html>