ModSecurity fails to build on Buildroot with MaxMind enabled · Issue #2595 · owasp-modsecurity/ModSecurity (original) (raw)
Describe the bug
ModSecurity v3.0.5 fails to build on Buildroot when MaxMind is enabled. Buildroot depends on pkg-config for the cross compilation to work. Upstream MaxMind uses libmaxminddb
as the pkg-config package name https://github.com/maxmind/libmaxminddb/blob/main/src/libmaxminddb.pc.in.
This was removed from the possible candidates in 785958f9b5089b918c7d054cbcc2fe4a3c7b3788.
Reverting this commit (+ Autoreconf) fixes the build failure.
Logs and dumps
An overview of the different build failures for multiple architectures can be found at http://autobuild.buildroot.org/?reason=libmodsecurity-3.0.5
Specific example:
>>> libmodsecurity 3.0.5 Configuring
(cd /home/buildroot/autobuild/run/instance-3/output-1/build/libmodsecurity-3.0.5/ && rm -rf config.cache && PATH="/home/buildroot/autobuild/run/instance-3/output-1/host/bin:/home/buildroot/autobuild/run/instance-3/output-1/host/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" AR="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-ar" AS="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-as" LD="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-ld" NM="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-nm" CC="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-gcc" GCC="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-gcc" CPP="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-cpp" CXX="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-g++" FC="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-gfortran" F77="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-gfortran" RANLIB="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-ranlib" READELF="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-readelf" STRIP="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-strip" OBJCOPY="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-objcopy" OBJDUMP="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-objdump" AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld" CPPFLAGS_FOR_BUILD="-I/home/buildroot/autobuild/run/instance-3/output-1/host/include" CFLAGS_FOR_BUILD="-O2 -I/home/buildroot/autobuild/run/instance-3/output-1/host/include" CXXFLAGS_FOR_BUILD="-O2 -I/home/buildroot/autobuild/run/instance-3/output-1/host/include" LDFLAGS_FOR_BUILD="-L/home/buildroot/autobuild/run/instance-3/output-1/host/lib -Wl,-rpath,/home/buildroot/autobuild/run/instance-3/output-1/host/lib" FCFLAGS_FOR_BUILD="" DEFAULT_ASSEMBLER="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-as" DEFAULT_LINKER="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-ld" CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=2" CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=2" LDFLAGS="" FCFLAGS=" -Os -g0" FFLAGS=" -Os -g0" PKG_CONFIG="/home/buildroot/autobuild/run/instance-3/output-1/host/bin/pkg-config" STAGING_DIR="/home/buildroot/autobuild/run/instance-3/output-1/host/nios2-buildroot-linux-gnu/sysroot" INTLTOOL_PERL=/usr/bin/perl ac_cv_lbl_unaligned_fail=yes ac_cv_func_mmap_fixed_mapped=yes ac_cv_func_memcmp_working=yes ac_cv_have_decl_malloc=yes gl_cv_func_malloc_0_nonnull=yes ac_cv_func_malloc_0_nonnull=yes ac_cv_func_calloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes lt_cv_sys_lib_search_path_spec="" ac_cv_c_bigendian=no CONFIG_SITE=/dev/null ./configure --target=nios2-buildroot-linux-gnu --host=nios2-buildroot-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var --program-prefix="" --disable-gtk-doc --disable-gtk-doc-html --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no --disable-dependency-tracking --enable-ipv6 --disable-nls --disable-static --enable-shared --with-pcre="/home/buildroot/autobuild/run/instance-3/output-1/host/nios2-buildroot-linux-gnu/sysroot/usr/bin/pcre-config" --disable-examples --without-lmdb --without-ssdeep --without-lua --without-yajl --with-libxml="/home/buildroot/autobuild/run/instance-3/output-1/host/nios2-buildroot-linux-gnu/sysroot/usr/bin/xml2-config" --with-curl="/home/buildroot/autobuild/run/instance-3/output-1/host/nios2-buildroot-linux-gnu/sysroot/usr/bin/curl-config" --without-geoip --with-maxmind )
configure: WARNING: unrecognized options: --disable-gtk-doc, --disable-gtk-doc-html, --disable-doc, --disable-docs, --disable-documentation, --with-xmlto, --with-fop, --enable-ipv6, --disable-nls
checking for a BSD-compatible install... /home/buildroot/autobuild/run/instance-3/output-1/host/bin/install -c
checking whether build environment is sane... yes
checking for nios2-buildroot-linux-gnu-strip... /home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-strip
checking for a race-free mkdir -p... /home/buildroot/autobuild/run/instance-3/output-1/host/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether /home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-g++ accepts -g... yes
checking for /home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-g++ option to enable C++11 features... none needed
checking whether make supports the include directive... yes (GNU style)
checking dependency style of /home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-g++... none
checking for nios2-buildroot-linux-gnu-gcc... /home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-gcc
checking whether the compiler supports GNU C... yes
checking whether /home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-gcc accepts -g... yes
checking for /home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-gcc option to enable C11 features... none needed
checking whether /home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-gcc understands -c and -o together... yes
checking dependency style of /home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-gcc... none
checking for nios2-buildroot-linux-gnu-ar... /home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-ar
checking the archiver (/home/buildroot/autobuild/run/instance-3/output-1/host/bin/nios2-linux-ar) interface... ar
checking whether make sets $(MAKE)... (cached) yes
checking pkg-config is at least version 0.9.0... yes
configure: Support for YAJL was disabled by the utilization of --without-yajl or --with-yajl=no
configure: Support for GeoIP was disabled by the utilization of --without-geoip or --with-geoip=no
configure: MaxMind support was marked as mandatory by the utilization of --with-maxmind=yes
configure: Nothing about MaxMind was informed during the configure phase. Trying to detect it on the platform...
configure: error: MaxMind was explicit requested but it was not found
make: *** [/home/buildroot/autobuild/run/instance-3/output-1/build/libmodsecurity-3.0.5/.stamp_configured] Error 1
make: Leaving directory `/home/buildroot/autobuild/run/instance-3/buildroot'