[ovs-discuss] config/build errors with 2.6.33
Ben Pfaff
blp at nicira.com
Tue Mar 23 16:29:13 UTC 2010
On Tue, Mar 23, 2010 at 01:50:52AM -0700, Brandon Heller wrote:
> I had some trouble configuring and building OVS with a custom 2.6.33 kernel.
> Ugly workaround patch below, which should really use a greater-than
> comparison in Makefile.main.in. Somewhere after 2.6.29 autconf.h moved
> from include/linux to /include/generated.
>
> The patch descends from commit 973eab32 (yesterday's OVS master branch).
Thank you for the report.
I think it's easier to just look for the file in both places. This
works for me on 2.6.32 and 2.6.33 (and presumably other versions):
--8<--------------------------cut here-------------------------->8--
>From 0ccd7844bbe9f6014d162c573e796c8c6f3f707b Mon Sep 17 00:00:00 2001
From: Ben Pfaff <blp at nicira.com>
Date: Tue, 23 Mar 2010 09:27:08 -0700
Subject: [PATCH] datapath: Support 2.6.33 kernel layout in build system.
The 2.6.33 kernel moves generated header files to include/generated, so
we need to look for autoconf.h there.
Reported-by: Brandon Heller <brandonh at stanford.edu>
---
acinclude.m4 | 5 +++--
datapath/linux-2.6/Makefile.main.in | 7 +++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/acinclude.m4 b/acinclude.m4
index e38676f..abbc57e 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -70,8 +70,9 @@ AC_DEFUN([OVS_CHECK_LINUX26], [
AC_ERROR([Linux kernel in build tree $KBUILD26 (source tree $KSRC26) is not version 2.6])
fi
fi
- if ! test -e "$KBUILD26"/include/linux/version.h || \
- ! test -e "$KBUILD26"/include/linux/autoconf.h; then
+ if test ! -e "$KBUILD26"/include/linux/version.h || \
+ (test ! -e "$KBUILD26"/include/linux/autoconf.h && \
+ test ! -e "$KBUILD26"/include/generated/autoconf.h); then
AC_MSG_ERROR([Linux kernel source in $KBUILD26 is not configured])
fi
OVS_CHECK_LINUX26_COMPAT
diff --git a/datapath/linux-2.6/Makefile.main.in b/datapath/linux-2.6/Makefile.main.in
index fd231e6..cb2a042 100644
--- a/datapath/linux-2.6/Makefile.main.in
+++ b/datapath/linux-2.6/Makefile.main.in
@@ -42,9 +42,12 @@ ifeq (,$(wildcard $(VERSION_FILE)))
$(error Linux kernel source not configured - missing version.h)
endif
-CONFIG_FILE := $(KSRC)/include/linux/autoconf.h
+CONFIG_FILE := $(KSRC)/include/generated/autoconf.h
ifeq (,$(wildcard $(CONFIG_FILE)))
- $(error Linux kernel source not configured - missing autoconf.h)
+ CONFIG_FILE := $(KSRC)/include/linux/autoconf.h
+ ifeq (,$(wildcard $(CONFIG_FILE)))
+ $(error Linux kernel source not configured - missing autoconf.h)
+ endif
endif
default:
--
1.6.6.1
More information about the discuss
mailing list