### Description During source compilation on Fedora 40 I see an error
``` [2024-11-15T10:13:57.497Z] make[3]: Entering directory '/root/rpmbuild/BUILD/kamailio-6.0.0-dev3/src/lib/srdb2' [2024-11-15T10:13:57.502Z] make[3]: 'libsrdb2.so.1.0' is up to date. [2024-11-15T10:13:57.502Z] make[3]: Leaving directory '/root/rpmbuild/BUILD/kamailio-6.0.0-dev3/src/lib/srdb2' [2024-11-15T10:13:57.504Z] LD (gcc) [M uid_uri_db.so] uid_uri_db.so [2024-11-15T10:13:57.535Z] make[2]: --libs8: No such file or directory [2024-11-15T10:13:57.569Z] make[2]: --libs8: No such file or directory [2024-11-15T10:13:57.590Z] CC (gcc) [M dialplan.so] dialplan.o [2024-11-15T10:13:58.005Z] CC (gcc) [M dialplan.so] dp_db.o [2024-11-15T10:13:58.331Z] CC (gcc) [M dialplan.so] dp_repl.o [2024-11-15T10:13:58.742Z] make[3]: Entering directory '/root/rpmbuild/BUILD/kamailio-6.0.0-dev3/src/lib/srdb1' [2024-11-15T10:13:58.748Z] make[3]: 'libsrdb1.so.1.0' is up to date. [2024-11-15T10:13:58.748Z] make[3]: Leaving directory '/root/rpmbuild/BUILD/kamailio-6.0.0-dev3/src/lib/srdb1' [2024-11-15T10:13:58.749Z] LD (gcc) [M dialplan.so] dialplan.so [2024-11-15T10:13:58.776Z] make[2]: --libs8: No such file or directory [2024-11-15T10:13:58.808Z] make[2]: --libs8: No such file or directory [2024-11-15T10:13:58.837Z] CC (gcc) [M lcr.so] hash.o [2024-11-15T10:13:58.984Z] CC (gcc) [M lcr.so] lcr_mod.o [2024-11-15T10:14:00.389Z] CC (gcc) [M lcr.so] lcr_rpc.o [2024-11-15T10:14:00.518Z] make[3]: Entering directory '/root/rpmbuild/BUILD/kamailio-6.0.0-dev3/src/lib/srdb1' [2024-11-15T10:14:00.528Z] make[3]: 'libsrdb1.so.1.0' is up to date. [2024-11-15T10:14:00.528Z] make[3]: Leaving directory '/root/rpmbuild/BUILD/kamailio-6.0.0-dev3/src/lib/srdb1' [2024-11-15T10:14:00.529Z] LD (gcc) [M lcr.so] lcr.so [2024-11-15T10:14:00.564Z] make[2]: --libs8: No such file or directory [2024-11-15T10:14:00.592Z] make[2]: --libs8: No such file or directory [2024-11-15T10:14:00.623Z] CC (gcc) [M regex.so] regex_mod.o [2024-11-15T10:14:00.952Z] LD (gcc) [M regex.so] regex.so [2024-11-15T10:14:00.997Z] CC (gcc) [M app_jsdt.so] app_jsdt_api.o [2024-11-15T10:14:01.437Z] CC (gcc) [M app_jsdt.so] app_jsdt_kemi_export.o [2024-11-15T10:14:02.089Z] CC (gcc) [M app_jsdt.so] app_jsdt_mod.o [2024-11-15T10:14:02.389Z] CC (gcc) [M app_jsdt.so] duk_module_node.o [2024-11-15T10:14:02.470Z] CC (gcc) [M app_jsdt.so] duktape.o ```
is pcre2-config installed ?? ``` root@32b359ba45c6:/code# command -v pcre2-config /usr/bin/pcre2-config root@32b359ba45c6:/code# pcre2-config --libs8 -lpcre2-8 ```
yes present ```sh [root@nout /]# pcre2-config --libs8 -lpcre2-8 [root@nout /]# which pcre2-config /usr/bin/pcre2-config [root@nout /]# rpm -qf /usr/bin/pcre2-config pcre2-devel-10.44-1.fc40.x86_64 ```
``` ifeq ($(CROSS_COMPILE),) PCRE_BUILDER = $(shell command -v pcre2-config) endif
ifeq ($(PCRE_BUILDER),) PCREDEFS=-I$(LOCALBASE)/include PCRELIBS=-L$(LOCALBASE)/lib -lpcre2-8 else PCREDEFS = $(shell $(PCRE_BUILDER) --cflags) PCRELIBS = $(shell $(PCRE_BUILDER) --libs8) endif ``` So If you see: `` make[2]: --libs8: No such file or directory `` That means that ``PCRE_BUILDER`` is not empty but the error suggest that shell is calling just ``--libs8``.
Try to find out what content ``PCRE_BUILDER`` is.
I have updated `src/modules/regex/Makefile` ```diff diff --git a/src/modules/regex/Makefile b/src/modules/regex/Makefile index db036b67d9..1ccf92a4e8 100644 --- a/src/modules/regex/Makefile +++ b/src/modules/regex/Makefile @@ -6,6 +6,7 @@ NAME=regex.so
ifeq ($(CROSS_COMPILE),) PCRE_BUILDER = $(shell command -v pcre2-config) +$(info $(PCRE_BUILDER)) endif
ifeq ($(PCRE_BUILDER),) ``` And now `make` output shows builder values ```sh [root@nout regex]# make clean && make /usr/bin/pcre2-config /usr/bin/pcre2-config make: --libs8: No such file or directory CC (gcc) [M regex.so] regex_mod.o LD (gcc) [M regex.so] regex.so ```
Then I deleted a string ``` LIBS+=$(PCRELIBS) ``` The error was not printed anymore. Then, I made a conclusion, the error related to the updated list of used libs. Then I added the deleted sting back and printed `LIBS` value before and after the update. ```diff diff --git a/src/modules/regex/Makefile b/src/modules/regex/Makefile index db036b67d9..354377b0b5 100644 --- a/src/modules/regex/Makefile +++ b/src/modules/regex/Makefile @@ -17,6 +17,8 @@ else endif
DEFS+=$(PCREDEFS) +$(info $(LIBS)) LIBS+=$(PCRELIBS) +$(info $(LIBS))
include ../../Makefile.modules ``` The output looks like ``` [root@nout regex]# make clean && make -ldl -lresolv -lm -ldl -lresolv -lm -lpcre2-8 -ldl -lresolv -lm -ldl -lresolv -lm -lpcre2-8 make: --libs8: No such file or directory -ldl -lresolv -lm -ldl -lresolv -lm -lpcre2-8 make: --libs8: No such file or directory CC (gcc) [M regex.so] regex_mod.o LD (gcc) [M regex.so] regex.so ```
Looks like `LIBS` value update is correct and nothing to fix here. Probable here build tools issues like https://github.com/wolfSSL/wolfssl/issues/8190
I understand that the issue is with the build tools version, if not reopen.
Closed #4025 as completed.