[Rspamd-Users] rspamd src-build fails to locate/use pcre2 install ?

PGNet Dev pgnet.dev at gmail.com
Sun May 10 18:50:41 UTC 2020


building on linux, i've got pcre & pcre2 installed

	/usr/local/bin/pcre-config --version
		8.44

	/usr/local/bin/pcre2-config --version
		10.35-RC1

pkg-config lists,

	pkg-config --list-all | grep pcre
		libpcreposix              libpcreposix - PCREPosix - Posix compatible interface to libpcre
		libpcre2-8                libpcre2-8 - PCRE2 - Perl compatible regular expressions C library (2nd API) with 8 bit character support
		libpcre                   libpcre - PCRE - Perl compatible regular expressions C library with 8 bit character support
		libpcre16                 libpcre16 - PCRE - Perl compatible regular expressions C library with 16 bit character support
		libpcrecpp                libpcrecpp - PCRECPP - C++ wrapper for PCRE
		libpcre2-posix            libpcre2-posix - Posix compatible interface to libpcre2-8

the pcre2-relevant pkg-configs are

	pkg-config --libs --cflags libpcre2-posix
		-I/usr/local/include -L/usr/local/lib64 -lpcre2-posix
	pkg-config --libs --cflags libpcre2-8
		-I/usr/local/include -L/usr/local/lib64 -lpcre2-8

config'ing rspamd with,

	cmake -DENABLE_PCRE2=1 ...

*ignores* existence of pcre2 install,

	grep -i pcre CMakeCache.txt 
		//Enable pcre2 instead of pcre  [default: OFF]
		ENABLE_PCRE2:BOOL=1
		pkgcfg_lib_PCRE_pcre:FILEPATH=/usr/local/lib64/libpcre.so
		rspamd-replxx_LIB_DEPENDS:STATIC=general;m;glib-2.0;pcre;sqlite3;icui18n;icuuc;icudata;icui18n;icuuc;icudata;icui18n;icuuc;icudata;ssl;crypto;ssl;crypto;/usr/lib64/libz.so;sodium;rt;dl;resolv;-L/usr/local/openssl11/lib64;;-L/usr/local/openssl11/lib64;;-L/usr/local/lib64;;/usr/lib64/liblua.so;ucl;rdns;ottery;xxhash;
		rspamd-server_LIB_DEPENDS:STATIC=general;rspamd-http-parser;general;rspamd-fpconv;general;rspamd-cdb;general;rspamd-lpeg;general;lcbtrie;general;rspamd-zstd;general;rspamd-fastutf8;general;rspamd-bit;general;stemmer;general;rspamd-hiredis;general;m;general;glib-2.0;general;pcre;general;sqlite3;general;icui18n;general;icuuc;general;icudata;general;icui18n;general;icuuc;general;icudata;general;icui18n;general;icuuc;general;icudata;general;ssl;general;crypto;general;ssl;general;crypto;general;/usr/lib64/libz.so;general;sodium;general;rt;general;dl;general;resolv;general;-L/usr/local/openssl11/lib64;general;-L/usr/local/openssl11/lib64;general;-L/usr/local/lib64;general;/usr/lib64/liblua.so;general;ucl;general;rdns;general;ottery;general;xxhash;general;rspamd-replxx;general;stemmer;general;rspamd-hiredis;general;rspamd-actrie;general;rspamd-t1ha;general;rspamd-ev;general;rspamd-kann;
		GLIB2_STATIC_LDFLAGS:INTERNAL=-L/usr/local/lib64;-lglib-2.0;-pthread;-lpcre;-pthread
		GLIB2_STATIC_LIBRARIES:INTERNAL=glib-2.0;pcre
		//Have symbol PCRE_CONFIG_JIT
		HAVE_PCRE_JIT:INTERNAL=1
		//Test HAVE_PCRE_JIT_FAST
		HAVE_PCRE_JIT_FAST:INTERNAL=
		PCRE_CFLAGS:INTERNAL=-I/usr/local/include
		PCRE_CFLAGS_I:INTERNAL=
		PCRE_CFLAGS_OTHER:INTERNAL=
		PCRE_FOUND:INTERNAL=1
		PCRE_INCLUDE:INTERNAL=/usr/local/include
		PCRE_INCLUDEDIR:INTERNAL=/usr/local/include
		PCRE_INCLUDE_DIRS:INTERNAL=/usr/local/include
		PCRE_LDFLAGS:INTERNAL=-L/usr/local/lib64;-lpcre
		PCRE_LDFLAGS_OTHER:INTERNAL=
		PCRE_LIBDIR:INTERNAL=/usr/local/lib64
		PCRE_LIBRARIES:INTERNAL=pcre
		PCRE_LIBRARY_DIRS:INTERNAL=/usr/local/lib64
		PCRE_LIBRARY_PATH:INTERNAL=/usr/local/lib64
		PCRE_LIBS:INTERNAL=
		PCRE_LIBS_L:INTERNAL=
		PCRE_LIBS_OTHER:INTERNAL=
		PCRE_LIBS_PATHS:INTERNAL=
		PCRE_MODULE_NAME:INTERNAL=libpcre
		PCRE_PREFIX:INTERNAL=/usr/local
		PCRE_STATIC_CFLAGS:INTERNAL=-I/usr/local/include
		PCRE_STATIC_CFLAGS_I:INTERNAL=
		PCRE_STATIC_CFLAGS_OTHER:INTERNAL=
		PCRE_STATIC_INCLUDE_DIRS:INTERNAL=/usr/local/include
		PCRE_STATIC_LDFLAGS:INTERNAL=-L/usr/local/lib64;-lpcre;-pthread
		PCRE_STATIC_LDFLAGS_OTHER:INTERNAL=-pthread
		PCRE_STATIC_LIBDIR:INTERNAL=
		PCRE_STATIC_LIBRARIES:INTERNAL=pcre
		PCRE_STATIC_LIBRARY_DIRS:INTERNAL=/usr/local/lib64
		PCRE_STATIC_LIBS:INTERNAL=
		PCRE_STATIC_LIBS_L:INTERNAL=
		PCRE_STATIC_LIBS_OTHER:INTERNAL=
		PCRE_STATIC_LIBS_PATHS:INTERNAL=
		PCRE_VERSION:INTERNAL=8.44
		PCRE_libpcre_INCLUDEDIR:INTERNAL=
		PCRE_libpcre_LIBDIR:INTERNAL=
		PCRE_libpcre_PREFIX:INTERNAL=
		PCRE_libpcre_VERSION:INTERNAL=
		PCRE_pcre_INCLUDEDIR:INTERNAL=
		PCRE_pcre_LIBDIR:INTERNAL=
		PCRE_pcre_PREFIX:INTERNAL=
		PCRE_pcre_VERSION:INTERNAL=
		WITH_PCRE:INTERNAL=1
		__pkg_config_checked_PCRE:INTERNAL=1
		//ADVANCED property for variable: pkgcfg_lib_PCRE_pcre
		pkgcfg_lib_PCRE_pcre-ADVANCED:INTERNAL=1

and build bins/libs are linked incorrectly against PCRE1 libs

	ldd /usr/local/rspamd/{bin,lib64}/* | egrep "pcre|^/usr/local/rspam"
		/usr/local/rspamd/bin/rspamadm:
		        libpcre.so.1 => /usr/local/lib64/libpcre.so.1 (0x00007f3b24a67000)
		/usr/local/rspamd/bin/rspamadm-2.6:
		        libpcre.so.1 => /usr/local/lib64/libpcre.so.1 (0x00007faeb400e000)
		/usr/local/rspamd/bin/rspamc:
		        libpcre.so.1 => /usr/local/lib64/libpcre.so.1 (0x00007fcf12ba1000)
		/usr/local/rspamd/bin/rspamc-2.6:
		        libpcre.so.1 => /usr/local/lib64/libpcre.so.1 (0x00007fa55243e000)
		/usr/local/rspamd/bin/rspamd:
		        libpcre.so.1 => /usr/local/lib64/libpcre.so.1 (0x00007f2e97436000)
		/usr/local/rspamd/bin/rspamd-2.6:
		        libpcre.so.1 => /usr/local/lib64/libpcre.so.1 (0x00007f7dd5d77000)
		/usr/local/rspamd/bin/rspamd_stats:
		/usr/local/rspamd/lib64/librspamd-actrie.so:
		        libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f28c2422000)
		/usr/local/rspamd/lib64/librspamd-ev.so:
		/usr/local/rspamd/lib64/librspamd-kann.so:
		/usr/local/rspamd/lib64/librspamd-replxx.so:
		        libpcre.so.1 => /usr/local/lib64/libpcre.so.1 (0x00007f30b20ec000)
		/usr/local/rspamd/lib64/librspamd-server.so:
		        libpcre.so.1 => /usr/local/lib64/libpcre.so.1 (0x00007f5d17166000)

what's the correct, necessary config to enable/find the installed pcre*2*?


More information about the Users mailing list