Modsecurity: Build Failing on Ubuntu 16.04

Created on 25 Dec 2018  Â·  4Comments  Â·  Source: SpiderLabs/ModSecurity

Describe the bug

Build Failing while installing on Ubuntu 16.04 with below error: This was working fine until today.

fatal error: src/actions/disruptive/drop.h: No such file or directory

Logs and dumps
Making all in src
make[1]: Entering directory '/opt/ModSecurity/src'
make all-recursive
make[2]: Entering directory '/opt/ModSecurity/src'
make[3]: Entering directory '/opt/ModSecurity/src'
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -std=c++11 -I.. -g -I../others -fPIC -O3 -I../headers -DWITH_GEOIP -I/usr/include/ -DWITH_YAJL -I/usr/include/yajl -I/usr/include -DPCRE_HAVE_JIT -I/usr/include/libxml2 -DWITH_LIBXML2 -g -O2 -MT parser/libmodsecurity_la-seclang-parser.lo -MD -MP -MF parser/.deps/libmodsecurity_la-seclang-parser.Tpo -c -o parser/libmodsecurity_la-seclang-parser.lo test -f 'parser/seclang-parser.cc' || echo './'parser/seclang-parser.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -std=c++11 -I.. -g -I../others -fPIC -O3 -I../headers -DWITH_GEOIP -I/usr/include/ -DWITH_YAJL -I/usr/include/yajl -I/usr/include -DPCRE_HAVE_JIT -I/usr/include/libxml2 -DWITH_LIBXML2 -g -O2 -MT parser/libmodsecurity_la-seclang-parser.lo -MD -MP -MF parser/.deps/libmodsecurity_la-seclang-parser.Tpo -c parser/seclang-parser.cc -fPIC -DPIC -o parser/.libs/libmodsecurity_la-seclang-parser.o
In file included from parser/seclang-parser.cc:40:0:
seclang-parser.yy:40:41: fatal error: src/actions/disruptive/drop.h: No such file or directory
compilation terminated.
Makefile:1841: recipe for target 'parser/libmodsecurity_la-seclang-parser.lo' failed
make[3]: * [parser/libmodsecurity_la-seclang-parser.lo] Error 1
make[3]: Leaving directory '/opt/ModSecurity/src'
Makefile:3199: recipe for target 'all-recursive' failed
make[2]:
[all-recursive] Error 1
make[2]: Leaving directory '/opt/ModSecurity/src'
Makefile:1012: recipe for target 'all' failed
make[1]:
[all] Error 2
make[1]: Leaving directory '/opt/ModSecurity/src'
Makefile:1017: recipe for target 'all-recursive' failed
make: *
[all-recursive] Error 1

To Reproduce

Steps to reproduce the behaviour:
apt install -y apt-utils autoconf automake build-essential git libcurl4-openssl-dev libgeoip-dev liblmdb-dev libpcre++-dev libtool libxml2-dev libyajl-dev pkgconf wget zlib1g-dev

mkdir /opt/ModSecurity && cd /opt/ModSecurity
git clone -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity . && \
git submodule init && \
git submodule update && \
./build.sh && \
./configure && make && make install

3.x

Most helpful comment

Sorry guys. My fault. The file was added and the compilation is now running smoothly.

https://travis-ci.org/SpiderLabs/ModSecurity

All 4 comments

@narookak it seems like drop.h wasn't included (if even should be) in
https://github.com/SpiderLabs/ModSecurity/commit/d00ea5111d445f49513c3968596646d9cf858aea, FWIW, I was able to move further with creating empty src/actions/disruptive/drop.h, but eventually I got:

/bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.  -std=c++11 -I.. -g -I../others -fPIC -O3 -I../headers -DWITH_GEOIP -I/usr/include/    -DWITH_YAJL -I/usr/include/yajl  -DPCRE_HAVE_JIT    -I/usr/include/libxml2 -DWITH_LIBXML2   -g -O2 -MT parser/libmodsecurity_la-seclang-parser.lo -MD -MP -MF parser/.deps/libmodsecurity_la-seclang-parser.Tpo -c -o parser/libmodsecurity_la-seclang-parser.lo `test -f 'parser/seclang-parser.cc' || echo './'`parser/seclang-parser.cc
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -std=c++11 -I.. -g -I../others -fPIC -O3 -I../headers -DWITH_GEOIP -I/usr/include/ -DWITH_YAJL -I/usr/include/yajl -DPCRE_HAVE_JIT -I/usr/include/libxml2 -DWITH_LIBXML2 -g -O2 -MT parser/libmodsecurity_la-seclang-parser.lo -MD -MP -MF parser/.deps/libmodsecurity_la-seclang-parser.Tpo -c parser/seclang-parser.cc  -fPIC -DPIC -o parser/.libs/libmodsecurity_la-seclang-parser.o
In file included from parser/seclang-parser.cc:40:0:
seclang-parser.yy: In member function ‘virtual int yy::seclang_parser::parse()’:
seclang-parser.yy:2711:85: error: expected type-specifier
seclang-parser.yy:343:40: note: in definition of macro ‘ACTION_CONTAINER’
Makefile:1841: recipe for target 'parser/libmodsecurity_la-seclang-parser.lo' failed
make[3]: *** [parser/libmodsecurity_la-seclang-parser.lo] Error 1

Let's wait for @zimmerle. :)

My case is the same with you. Hope @zimmerle has the solution soon.

Ubuntu 18.04

root@ngms3da:/opt/ModSecurity# make
Making all in others
make[1]: Entering directory '/opt/ModSecurity/others'
depbase=echo libinjection/src/libinjection_html5.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||';\
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../src -g -O2 -MT libinjection/src/libinjection_html5.lo -MD -MP -MF $depbase.Tpo -c -o libinjection/src/libinjection_html5.lo libinjection/src/libinjection_html5.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -g -O2 -MT libinjection/src/libinjection_html5.lo -MD -MP -MF libinjection/src/.deps/libinjection_html5.Tpo -c libinjection/src/libinjection_html5.c -fPIC -DPIC -o libinjection/src/.libs/libinjection_html5.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -g -O2 -MT libinjection/src/libinjection_html5.lo -MD -MP -MF libinjection/src/.deps/libinjection_html5.Tpo -c libinjection/src/libinjection_html5.c -o libinjection/src/libinjection_html5.o >/dev/null 2>&1
depbase=echo libinjection/src/libinjection_sqli.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||';\
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../src -g -O2 -MT libinjection/src/libinjection_sqli.lo -MD -MP -MF $depbase.Tpo -c -o libinjection/src/libinjection_sqli.lo libinjection/src/libinjection_sqli.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -g -O2 -MT libinjection/src/libinjection_sqli.lo -MD -MP -MF libinjection/src/.deps/libinjection_sqli.Tpo -c libinjection/src/libinjection_sqli.c -fPIC -DPIC -o libinjection/src/.libs/libinjection_sqli.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -g -O2 -MT libinjection/src/libinjection_sqli.lo -MD -MP -MF libinjection/src/.deps/libinjection_sqli.Tpo -c libinjection/src/libinjection_sqli.c -o libinjection/src/libinjection_sqli.o >/dev/null 2>&1
depbase=echo libinjection/src/libinjection_xss.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||';\
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../src -g -O2 -MT libinjection/src/libinjection_xss.lo -MD -MP -MF $depbase.Tpo -c -o libinjection/src/libinjection_xss.lo libinjection/src/libinjection_xss.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -g -O2 -MT libinjection/src/libinjection_xss.lo -MD -MP -MF libinjection/src/.deps/libinjection_xss.Tpo -c libinjection/src/libinjection_xss.c -fPIC -DPIC -o libinjection/src/.libs/libinjection_xss.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -g -O2 -MT libinjection/src/libinjection_xss.lo -MD -MP -MF libinjection/src/.deps/libinjection_xss.Tpo -c libinjection/src/libinjection_xss.c -o libinjection/src/libinjection_xss.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -lpcre -o libinjection.la libinjection/src/libinjection_html5.lo libinjection/src/libinjection_sqli.lo libinjection/src/libinjection_xss.lo
libtool: link: ar cru .libs/libinjection.a libinjection/src/.libs/libinjection_html5.o libinjection/src/.libs/libinjection_sqli.o libinjection/src/.libs/libinjection_xss.o
ar: u' modifier ignored sinceD' is the default (see U') libtool: link: ranlib .libs/libinjection.a libtool: link: ( cd ".libs" && rm -f "libinjection.la" && ln -s "../libinjection.la" "libinjection.la" ) /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../src -D MBEDTLS_CONFIG_FILE=\"mbed-tls-config.h\" -Iothers -g -O2 -MT mbedtls/libmbedtls_la-base64.lo -MD -MP -MF mbedtls/.deps/libmbedtls_la-base64.Tpo -c -o mbedtls/libmbedtls_la-base64.lotest -f 'mbedtls/base64.c' || echo './'mbedtls/base64.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -D MBEDTLS_CONFIG_FILE=\"mbed-tls-config.h\" -Iothers -g -O2 -MT mbedtls/libmbedtls_la-base64.lo -MD -MP -MF mbedtls/.deps/libmbedtls_la-base64.Tpo -c mbedtls/base64.c -fPIC -DPIC -o mbedtls/.libs/libmbedtls_la-base64.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -D MBEDTLS_CONFIG_FILE=\"mbed-tls-config.h\" -Iothers -g -O2 -MT mbedtls/libmbedtls_la-base64.lo -MD -MP -MF mbedtls/.deps/libmbedtls_la-base64.Tpo -c mbedtls/base64.c -o mbedtls/libmbedtls_la-base64.o >/dev/null 2>&1 mv -f mbedtls/.deps/libmbedtls_la-base64.Tpo mbedtls/.deps/libmbedtls_la-base64.Plo /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../src -D MBEDTLS_CONFIG_FILE=\"mbed-tls-config.h\" -Iothers -g -O2 -MT mbedtls/libmbedtls_la-md5.lo -MD -MP -MF mbedtls/.deps/libmbedtls_la-md5.Tpo -c -o mbedtls/libmbedtls_la-md5.lotest -f 'mbedtls/md5.c' || echo './'mbedtls/md5.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -D MBEDTLS_CONFIG_FILE=\"mbed-tls-config.h\" -Iothers -g -O2 -MT mbedtls/libmbedtls_la-md5.lo -MD -MP -MF mbedtls/.deps/libmbedtls_la-md5.Tpo -c mbedtls/md5.c -fPIC -DPIC -o mbedtls/.libs/libmbedtls_la-md5.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -D MBEDTLS_CONFIG_FILE=\"mbed-tls-config.h\" -Iothers -g -O2 -MT mbedtls/libmbedtls_la-md5.lo -MD -MP -MF mbedtls/.deps/libmbedtls_la-md5.Tpo -c mbedtls/md5.c -o mbedtls/libmbedtls_la-md5.o >/dev/null 2>&1 mv -f mbedtls/.deps/libmbedtls_la-md5.Tpo mbedtls/.deps/libmbedtls_la-md5.Plo /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../src -D MBEDTLS_CONFIG_FILE=\"mbed-tls-config.h\" -Iothers -g -O2 -MT mbedtls/libmbedtls_la-sha1.lo -MD -MP -MF mbedtls/.deps/libmbedtls_la-sha1.Tpo -c -o mbedtls/libmbedtls_la-sha1.lotest -f 'mbedtls/sha1.c' || echo './'mbedtls/sha1.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -D MBEDTLS_CONFIG_FILE=\"mbed-tls-config.h\" -Iothers -g -O2 -MT mbedtls/libmbedtls_la-sha1.lo -MD -MP -MF mbedtls/.deps/libmbedtls_la-sha1.Tpo -c mbedtls/sha1.c -fPIC -DPIC -o mbedtls/.libs/libmbedtls_la-sha1.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -D MBEDTLS_CONFIG_FILE=\"mbed-tls-config.h\" -Iothers -g -O2 -MT mbedtls/libmbedtls_la-sha1.lo -MD -MP -MF mbedtls/.deps/libmbedtls_la-sha1.Tpo -c mbedtls/sha1.c -o mbedtls/libmbedtls_la-sha1.o >/dev/null 2>&1 mv -f mbedtls/.deps/libmbedtls_la-sha1.Tpo mbedtls/.deps/libmbedtls_la-sha1.Plo /bin/bash ../libtool --tag=CC --mode=link gcc -D MBEDTLS_CONFIG_FILE=\"mbed-tls-config.h\" -Iothers -g -O2 -lpcre -o libmbedtls.la mbedtls/libmbedtls_la-base64.lo mbedtls/libmbedtls_la-md5.lo mbedtls/libmbedtls_la-sha1.lo libtool: link: ar cru .libs/libmbedtls.a mbedtls/.libs/libmbedtls_la-base64.o mbedtls/.libs/libmbedtls_la-md5.o mbedtls/.libs/libmbedtls_la-sha1.o ar:u' modifier ignored since D' is the default (seeU')
libtool: link: ranlib .libs/libmbedtls.a
libtool: link: ( cd ".libs" && rm -f "libmbedtls.la" && ln -s "../libmbedtls.la" "libmbedtls.la" )
make[1]: Leaving directory '/opt/ModSecurity/others'
Making all in src
make[1]: Entering directory '/opt/ModSecurity/src'
make all-recursive
make[2]: Entering directory '/opt/ModSecurity/src'
make[3]: Entering directory '/opt/ModSecurity/src'
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -std=c++11 -I.. -g -I../others -fPIC -O3 -I../headers -DWITH_GEOIP -I/usr/include/ -DWITH_YAJL -I/usr/include/yajl -DPCRE_HAVE_JIT -DWITH_LUA -DWITH_LUA_5_2 -I/usr/include/lua5.2 -I/usr/include/libxml2 -DWITH_LIBXML2 -g -O2 -MT parser/libmodsecurity_la-seclang-parser.lo -MD -MP -MF parser/.deps/libmodsecurity_la-seclang-parser.Tpo -c -o parser/libmodsecurity_la-seclang-parser.lo test -f 'parser/seclang-parser.cc' || echo './'parser/seclang-parser.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -std=c++11 -I.. -g -I../others -fPIC -O3 -I../headers -DWITH_GEOIP -I/usr/include/ -DWITH_YAJL -I/usr/include/yajl -DPCRE_HAVE_JIT -DWITH_LUA -DWITH_LUA_5_2 -I/usr/include/lua5.2 -I/usr/include/libxml2 -DWITH_LIBXML2 -g -O2 -MT parser/libmodsecurity_la-seclang-parser.lo -MD -MP -MF parser/.deps/libmodsecurity_la-seclang-parser.Tpo -c parser/seclang-parser.cc -fPIC -DPIC -o parser/.libs/libmodsecurity_la-seclang-parser.o
In file included from parser/seclang-parser.cc:40:0:
seclang-parser.yy:40:10: fatal error: src/actions/disruptive/drop.h: No such file or directory
compilation terminated.
Makefile:1841: recipe for target 'parser/libmodsecurity_la-seclang-parser.lo' failed
make[3]: * [parser/libmodsecurity_la-seclang-parser.lo] Error 1
make[3]: Leaving directory '/opt/ModSecurity/src'
Makefile:3199: recipe for target 'all-recursive' failed
make[2]:
[all-recursive] Error 1
make[2]: Leaving directory '/opt/ModSecurity/src'
Makefile:1012: recipe for target 'all' failed
make[1]:
[all] Error 2
make[1]: Leaving directory '/opt/ModSecurity/src'
Makefile:1017: recipe for target 'all-recursive' failed
make: *
[all-recursive] Error 1

Sorry guys. My fault. The file was added and the compilation is now running smoothly.

https://travis-ci.org/SpiderLabs/ModSecurity

Was this page helpful?
0 / 5 - 0 ratings

Related issues

SteffenAL picture SteffenAL  Â·  5Comments

theMiddleBlue picture theMiddleBlue  Â·  6Comments

NisariAIT picture NisariAIT  Â·  4Comments

emphazer picture emphazer  Â·  3Comments

Daijobou picture Daijobou  Â·  6Comments