Description
It looks like there are header files that are missing in v3/master that this lib is dependent on. variable.h one.
modsecurity/collection/variable.h exist in certain twaf8.5 branches and not others.
If you try to build off v3/master...
modsecurity/modsecurity.i:62: Error: Unable to find 'modsecurity/intervention.h'
modsecurity/modsecurity.i:63: Error: Unable to find 'modsecurity/collection/variable.h'
modsecurity/modsecurity.i:64: Error: Unable to find 'modsecurity/collection/collection.h'
modsecurity/modsecurity.i:65: Error: Unable to find 'modsecurity/collection/collections.h'
modsecurity/modsecurity.i:66: Error: Unable to find 'modsecurity/transaction.h'
modsecurity/modsecurity.i:67: Error: Unable to find 'modsecurity/debug_log.h'
modsecurity/modsecurity.i:68: Error: Unable to find 'modsecurity/modsecurity.h'
modsecurity/modsecurity.i:69: Error: Unable to find 'modsecurity/rules_properties.h'
modsecurity/modsecurity.i:70: Error: Unable to find 'modsecurity/rules.h'
modsecurity/modsecurity.i:71: Error: Unable to find 'modsecurity/rule.h'
Makefile:2: recipe for target 'all' failed
make: *** [all] Error 1
If you build off v3/twaf8.5-v3.0.0
make
swig -I/opt/libmodsec/usr/local/modsecurity/include/ -python -builtin -Wall -Wextra -c++ modsecurity/modsecurity.i
/usr/share/swig3.0/std/std_sstream.i:55: Warning 321: 'str' conflicts with a built-in name in python
/usr/share/swig3.0/std/std_sstream.i:58: Warning 321: 'str' conflicts with a built-in name in python
/usr/share/swig3.0/std/std_sstream.i:95: Warning 321: 'str' conflicts with a built-in name in python
/usr/share/swig3.0/std/std_sstream.i:98: Warning 321: 'str' conflicts with a built-in name in python
/usr/share/swig3.0/std/std_sstream.i:134: Warning 321: 'str' conflicts with a built-in name in python
/usr/share/swig3.0/std/std_sstream.i:174: Warning 321: 'str' conflicts with a built-in name in python
/usr/share/swig3.0/std/std_sstream.i:177: Warning 321: 'str' conflicts with a built-in name in python
/usr/share/swig3.0/std/std_sstream.i:95: Warning 321: 'str' conflicts with a built-in name in python
/usr/share/swig3.0/std/std_sstream.i:98: Warning 321: 'str' conflicts with a built-in name in python
/usr/share/swig3.0/std/std_sstream.i:134: Warning 321: 'str' conflicts with a built-in name in python
/usr/share/swig3.0/std/std_sstream.i:174: Warning 321: 'str' conflicts with a built-in name in python
/usr/share/swig3.0/std/std_sstream.i:177: Warning 321: 'str' conflicts with a built-in name in python
/opt/libmodsec/usr/local/modsecurity/include/modsecurity/collection/collection.h:52: Warning 314: 'del' is a python keyword, renaming to '_del'
/opt/libmodsec/usr/local/modsecurity/include/modsecurity/collection/collection.h:115: Warning 314: 'del' is a python keyword, renaming to '_del'
/opt/libmodsec/usr/local/modsecurity/include/modsecurity/collection/collection.h:122: Warning 314: 'del' is a python keyword, renaming to '_del'
/opt/libmodsec/usr/local/modsecurity/include/modsecurity/collection/collections.h:47: Warning 401: Nothing known about base class 'std::unordered_map< std::string,Collection * >'. Ignored.
/opt/libmodsec/usr/local/modsecurity/include/modsecurity/collection/collections.h:47: Warning 401: Maybe you forgot to instantiate 'std::unordered_map< std::string,Collection * >' using %template.
/opt/libmodsec/usr/local/modsecurity/include/modsecurity/rules_properties.h:47: Warning 315: Nothing known about 'modsecurity::audit_log::AuditLog'.
python setup.py build_ext --inplace
*** found modsecurity at:
headers: /usr/local/modsecurity/include/
library: /usr/local/modsecurity/lib/
running build_ext
building '_modsecurity' extension
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/modsecurity/include/ -I. -I/usr/include/python2.7 -c modsecurity/modsecurity_wrap.cxx -o build/temp.linux-x86_64-2.7/modsecurity/modsecurity_wrap.o -std=c++11 -Wno-maybe-uninitialized
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
modsecurity/modsecurity_wrap.cxx:4595:45: fatal error: modsecurity/collection/variable.h: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Makefile:2: recipe for target 'all' failed
make: *** [all] Error 1
/opt/ModSecurity-Python-bindings# ls -la
Are python bindings dead? If so then this should be stated as such. There seems to be a lot of drift between versions.