11 Commits

Author SHA1 Message Date
JustCoding247
7b040b37f4
Fix lib64 detection for 7 libraries and resolve double-slash paths
Fixes #3404: Configure script fails to detect lib64-installed libraries

This commit addresses the configure script's inability to detect YAJL, LMDB,
and PCRE2 libraries when installed in lib64 directories, and extends the fix
to all library detection scripts to ensure comprehensive lib64 support across
the entire ModSecurity build system.

Libraries fixed with lib64 detection support:
- build/yajl.m4 - YAJL JSON parsing library (lines 7096, 7164)
- build/lmdb.m4 - Lightning Memory-Mapped Database (lines 7870, 7945)
- build/pcre2.m4 - Perl Compatible Regular Expressions v2 (lines 9086, 9161)
- build/lua.m4 - Lua scripting language
- build/ssdeep.m4 - SSDEEP fuzzy hashing library
- build/libgeoip.m4 - GeoIP library
- build/libmaxmind.m4 - MaxMind library

Additional improvements:
- Fix double-slash path issues by removing trailing slashes from path assignments
- Follow existing pattern used by MaxMind and other libraries
- Total: 12 lib64 detection points added across all library detection scripts

Impact:
- Resolves compilation failures on systems using lib64 directories
- Enables ModSecurity compilation in container environments
- Supports standard 64-bit library installation paths
- Provides comprehensive lib64 support across all library dependencies

Tested on multiple Linux distributions:
- Alma Linux 9, 10
- CentOS Stream 9, 10
- Oracle Linux 9, 10
- Rocky Linux 9, 10
- Ubuntu 22.04, 24.04
- Debian 12, 13

Closes #3404
2025-06-22 06:23:23 +00:00
Andrew Taylor
199056b916 Fix for issue #3334: build not finding YAJL
When searching for YAJL during ./configure, pkg-config is checked first,
and then a list of directories is searched if pkg-config bears no fruit.
The previous version of yajl.m4 was looping over YAJL_POSSIBLE_LIB_NAMES
instead of YAJL_POSSIBLE_PATHS and passing the lib name to the
CHECK_FOR_YAJL_AT() function instead of the path. The would lead to YAJL
never being found if pkg-config could not find it.
2025-01-30 01:19:50 -05:00
Eduardo Arias
e31ff7e60b Build on macOS 14 arm64 2024-08-05 11:49:58 -07:00
Hugh McMaster
f05f322302 Use AS_HELP_STRING instead of the obsolete AC_HELP_STRING macro
AC_HELP_STRING has been obsolete since at least Autoconf 2.53,
which was released in 2003.
2022-10-16 18:16:01 +11:00
Felipe Zimmerle
a589f6b693 Build: using PKG-CONFIG in a new fashion
Trying to avoid bulid errors if pkg-config is available.
2021-05-24 10:33:11 -03:00
Felipe Zimmerle
a6620604d4
build: fix yajl messages 2020-01-22 09:16:13 -03:00
Felipe Zimmerle
28008be616 Build: Adds /usr/lib64 as possible path for YAJL
Reported by @LinuxJedi at #1077
2016-03-18 16:42:15 -03:00
Felipe Zimmerle
d528b8ea6d Build: Looking for YAJL's LD flags instead of CFLAGS
Original author: @LinuxJedi. Reported at #1077.
2016-03-18 16:41:22 -03:00
Felipe Zimmerle
fbf8ea74f3 Makes YAJL dependency to be optional 2015-11-24 16:03:33 -03:00
Felipe Zimmerle
e94226f1d8 Fix some build issues
Optional dependencies were temporarily marked as mandatory, in order
to sort any build problem, later it will be marked as optional again.
2015-08-25 00:25:33 -03:00
Felipe Zimmerle
95cb4c56ab Very first commit: libmodsecurity
Check the README.md file for further information about the libmodsecurity.
2015-06-26 14:35:15 -03:00