[oe] [PATCH 1/1] snort: fix m4 causes out of memory during configure [ LIN8-299 ]

Zhiquan Li zhiquan.li at windriver.com
Fri Oct 23 10:07:35 UTC 2015


Issue: LIN8-299

There is an incorrect m4_define() in configure.in which will result in an
infinite recursion, and it doesn't make sense, since snort 2.9.7 it has been
commented out. We follow this solution to fix it.

Upstream-Status: Backport

(LOCAL REV: NOT UPSTREAM) -- Sent to oe-devel on 20151023

Signed-off-by: Zhiquan Li <zhiquan.li at windriver.com>
---
 .../snort/snort/m4-oom-during-configure.patch       | 21 +++++++++++++++++++++
 .../recipes-connectivity/snort/snort_2.9.6.0.bb     | 16 +++-------------
 2 files changed, 24 insertions(+), 13 deletions(-)
 create mode 100644 meta-networking/recipes-connectivity/snort/snort/m4-oom-during-configure.patch

diff --git a/meta-networking/recipes-connectivity/snort/snort/m4-oom-during-configure.patch b/meta-networking/recipes-connectivity/snort/snort/m4-oom-during-configure.patch
new file mode 100644
index 0000000..2250611
--- /dev/null
+++ b/meta-networking/recipes-connectivity/snort/snort/m4-oom-during-configure.patch
@@ -0,0 +1,21 @@
+Upstream-Status: Backport
+
+There is an incorrect m4_define() in configure.in which will result in an
+infinite recursion, and it doesn't make sense, since snort 2.9.7 it has been
+commented out. We follow this solution to fix it.
+
+Signed-off-by: Zhiquan Li <zhiquan.li at windriver.com>
+
+--- a/configure.in	2015-10-22 13:58:50.743367251 +0800
++++ b/configure.in	2015-10-22 13:59:13.855366117 +0800
+@@ -1100,8 +1100,8 @@
+ # Define PKG_CHECK_MODULES if it doesnt already exist. 
+ #file_ This prevents './configure' from erroring on machines that dont have
+ # 'pkgconfig' installed.
+-m4_ifdef([PKG_CHECK_MODULES],[], [m4_define([PKG_CHECK_MODULES], 
+-     [echo "PKG_CHECK_MODULES not defined"])])
++#m4_ifdef([PKG_CHECK_MODULES],[], [m4_define([PKG_CHECK_MODULES],
++#     [echo "PKG_CHECK_MODULES not defined"])])
+
+ if test "x$enable_rzb_saac" = "xyes"; then
+     AC_CHECK_PROG(PKG_CONFIG,pkg-config,yes)
diff --git a/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb b/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb
index 66653c6..65dc524 100644
--- a/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb
+++ b/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb
@@ -6,19 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
 
 DEPENDS = "libpcap libpcre daq libdnet util-linux"
 
-# Blacklist:
-#
-# http://errors.yoctoproject.org/Errors/Details/8936/
-#
-# snort failure is again very nasty, because it's m4 which eats all
-# available memory and swap before it's killed by OOM killer.
-# 
-# Luckily it always picked m4
-# 
-# [Wed Feb 18 19:00:51 2015] Out of memory: Kill process 28522 (m4) score 961 or sacrifice child
-# [Wed Feb 18 19:10:51 2015] Out of memory: Kill process 45228 (m4) score 958 or sacrifice child
-# ...
-PNBLACKLIST[snort] ?= "BROKEN: autotools processing causes OOM condition on configure"
 
 SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \
             file://snort.init \
@@ -26,6 +13,7 @@ SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \
             file://disable-dap-address-space-id.patch \
             file://0001-libpcap-search-sysroot-for-headers.patch \
             file://not-hardcoded-libdir.patch \
+            file://m4-oom-during-configure.patch \
 "
 
 SRC_URI[tarball.md5sum] = "18111f6de3989ca89add36077a7c2659"
@@ -45,6 +33,8 @@ EXTRA_OECONF = " \
 	--disable-static-daq \
 	--with-dnet-includes=${STAGING_INCDIR} \
 	--with-dnet-libraries=${STAGING_LIBDIR} \
+	--with-libpcre-includes=${STAGING_INCDIR} \
+	--with-libpcre-libraries=${STAGING_INCDIR} \
 	"
 
 # if you want to disable it, you need to patch configure.in first
-- 
1.9.1




More information about the Openembedded-devel mailing list