[Buildroot] [PATCH] package/ola: fix build against google.protobuf

Yann E. MORIN yann.morin.1998 at free.fr
Thu Jan 9 19:15:01 UTC 2014


From: "Yann E. MORIN" <yann.morin.1998 at free.fr>

To test for the google.protobuf presence, ola's ./conifgure runs the
host Python. This is doomed to fail, as google.protobuf is installed
in target/ and not in host/

Since our dependencies ensures that goole.protobuf is indeed installed
before we attempt to configure and build ola, we can just ditch the
test altogether.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
---
 .../ola-0002-fix-check-for-google.protobuf.patch   | 30 ++++++++++++++++++++++
 package/ola/ola.mk                                 |  3 +++
 2 files changed, 33 insertions(+)
 create mode 100644 package/ola/ola-0002-fix-check-for-google.protobuf.patch

diff --git a/package/ola/ola-0002-fix-check-for-google.protobuf.patch b/package/ola/ola-0002-fix-check-for-google.protobuf.patch
new file mode 100644
index 0000000..f0bc465
--- /dev/null
+++ b/package/ola/ola-0002-fix-check-for-google.protobuf.patch
@@ -0,0 +1,30 @@
+configure: do not check for google.protobuf
+
+The check for google.protobuf is inherently flawed for cross-compilation,
+as it uses the host Python to check for target modules.
+
+In Buildroot, our dependencies ensures that google.protobuf is present
+by the time we configure and build ola, so we can just skip the test
+altogether.
+
+We don't need to fake the result of the test: it is used nowhere; the
+test is only here to fail or succeed.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
+
+diff -durN ola-0.8.32.orig/configure.ac ola-0.8.32/configure.ac
+--- ola-0.8.32.orig/configure.ac	2013-09-29 19:46:48.000000000 +0200
++++ ola-0.8.32/configure.ac	2014-01-09 19:43:55.342044336 +0100
+@@ -530,7 +530,11 @@
+ 
+ if test "${enable_python_libs}" = "yes"; then
+  AM_PATH_PYTHON(2.6)
+- AX_PYTHON_MODULE("google.protobuf", "fatal")
++# AX_PYTHON_MODULE is inherently broken for cross-compilation
++# since it executes the host Python to check for target modules.
++# In Buildroot, we do not need to check for google.protobuf,
++# since our dependencies ensure it is available.
++# AX_PYTHON_MODULE("google.protobuf", "fatal")
+ fi
+ 
+ # Maybe build the logic sniffer tools
diff --git a/package/ola/ola.mk b/package/ola/ola.mk
index bc7de24..542aa77 100644
--- a/package/ola/ola.mk
+++ b/package/ola/ola.mk
@@ -11,6 +11,9 @@ OLA_LICENSE = LGPLv2.1+ (libola, libolacommon, Python bindings), GPLv2+ (libolas
 OLA_LICENSE_FILES = LICENCE GPL LGPL
 OLA_INSTALL_STAGING = YES
 
+# We modify configure.ac, so we need to autoreconf
+OLA_AUTORECONF = YES
+
 # util-linux provides uuid lib
 OLA_DEPENDENCIES = protobuf util-linux host-bison host-flex
 
-- 
1.8.1.2



More information about the buildroot mailing list