From 3ccaac365da6078a96681109efebc70dcb12fc55 Mon Sep 17 00:00:00 2001 From: Greg Troxel Date: Wed, 18 Mar 2020 19:01:52 -0400 Subject: [PATCH 1/2] Makefile.defs: On NetBSD, link with -lm --- src/Makefile.defs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.defs b/src/Makefile.defs index a89a3a6099e..3d28f3ef385 100644 --- a/src/Makefile.defs +++ b/src/Makefile.defs @@ -2056,7 +2056,7 @@ ifeq ($(OS), netbsd) C_DEFS+=-DHAVE_SELECT endif YACC=yacc - LIBS= + LIBS=-lm endif # OS X support, same as freebsd From bca9768b6f2667bad8472fa99a113b8249ca0f9a Mon Sep 17 00:00:00 2001 From: Greg Troxel Date: Wed, 18 Mar 2020 19:03:08 -0400 Subject: [PATCH 2/2] Makefile.defs: Only add -ldl on systems that use it kamailio uses dlopen, and on some systems, one must link with -ldl. On others, this is not needed and there is no libdl. For now, simply omit -ldl on NetBSD (which doesn't have or require it), and don't try to change behavior on other systems. --- src/Makefile.defs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Makefile.defs b/src/Makefile.defs index 3d28f3ef385..f6f39e3a01f 100644 --- a/src/Makefile.defs +++ b/src/Makefile.defs @@ -210,9 +210,18 @@ endif endif +# dlopen requires -ldl on some systems, but not others. Until there +# is clarity on which require -ldl, add just enough ifeq to fix +# systems known not to use it. +ifeq ($(OS), netbsd) +LIBDL="" +else +LIBDL="-ldl" +endif + ifeq ($(LIBSSL_SET_MUTEX_SHARED), 1) CC_PMUTEX_OPTS = -pthread -DKSR_PTHREAD_MUTEX_SHARED -LD_PMUTEX_OPTS = -pthread -rdynamic -ldl -Wl,-Bsymbolic-functions +LD_PMUTEX_OPTS = -pthread -rdynamic $(LIBDL) -Wl,-Bsymbolic-functions else CC_PMUTEX_OPTS = LD_PMUTEX_OPTS =