From 28c8e4f58f0f38792c7c79a05bd07788ebf15332 Mon Sep 17 00:00:00 2001
From: Joshua Colp <jcolp@digium.com>
Date: Thu, 16 Feb 2017 16:30:00 +0000
Subject: [PATCH] build: Execute ldconfig to build cache.

On some platforms a multiarch approach is used for libraries.
The build system does not take this into account and still
places libraries into the lib directory if no --libdir is
specified to configure. On initial startup this results in
libasteriskssl.so not being found, as it is not in the multiarch
lib directory.

This change does the minimally invasive thing and executes
ldconfig so that the libraries in the lib directory are found
and their location cached. By doing so Asterisk starts up fine.

If DESTDIR is specified, however, the old logic is executed as
the install process may not have permission to alter the ldconfig
cache.

ASTERISK-26705

Change-Id: If4eca46ac510c6fea5568256280ffdb3888d7bb4
---
 main/Makefile | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/main/Makefile b/main/Makefile
index 4d1b2c41bd..3c371c6685 100644
--- a/main/Makefile
+++ b/main/Makefile
@@ -355,7 +355,11 @@ else # Darwin
 endif
 endif
 ifneq ($(LDCONFIG),)
+ifneq ($(DESTDIR),)
 	$(LDCONFIG) $(LDCONFIG_FLAGS) "$(DESTDIR)$(ASTLIBDIR)/"
+else
+	$(LDCONFIG)
+endif
 endif
 	$(LN) -sf asterisk "$(DESTDIR)$(ASTSBINDIR)/rasterisk"
 
@@ -373,7 +377,11 @@ ifneq ($(ASTPJ_LIB).$(ASTPJ_SO_VERSION),.)
 	rm -f "$(DESTDIR)$(ASTLIBDIR)/$(ASTPJ_LIB)"
 endif
 ifneq ($(LDCONFIG),)
+ifneq ($(DESTDIR),)
 	$(LDCONFIG) $(LDCONFIG_FLAGS) "$(DESTDIR)$(ASTLIBDIR)/"
+else
+	$(LDCONFIG)
+endif
 endif
 
 clean::
-- 
GitLab