networkmanager: Fix build with clang

Detecting libdl for dlopen when failed returns
"none required", which then gets added to linker commandline
and inturn fails to link with errors obviously because "-lnone required"
is no such library.

This patch is not musl dependent, earlier patches clubbed it into musl
patch however this is needed with clang too regardless of the C library
the reason is clang automatically brings in libdl in OE and hence this
test is failing.

This is noop with gcc since the first check will pass thats why it works
in first place

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
Khem Raj 2019-04-06 11:38:10 -07:00
parent e57fe0b07e
commit 82b8ae6bd2
3 changed files with 35 additions and 13 deletions

View File

@ -0,0 +1,34 @@
From 57239fda56b68a8f3e413f7b6af5290ba0d86636 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 22 Mar 2018 18:18:06 +0100
Subject: [PATCH] musl: dlopen is included so LD_LIBS="" instead of
LD_LIBS="none required"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Stolen from [1] and prettyfied slightly
[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index 487a266..96ae4f7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -235,6 +235,7 @@ dnl
dnl Checks for libdl - on certain platforms its part of libc
dnl
AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=])
+AS_IF([test "$ac_cv_search_dlopen" = "none required"],[ac_cv_search_dlopen=""])
AC_SUBST([DL_LIBS], "$ac_cv_search_dlopen")
PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0],
--
2.14.3

View File

@ -11,7 +11,6 @@ Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
clients/cli/connections.c | 1 -
configure.ac | 1 +
libnm-core/nm-utils.c | 2 +-
shared/n-acd/src/n-acd.c | 1 -
shared/systemd/src/basic/in-addr-util.c | 1 +
@ -43,18 +42,6 @@ index 6db44f8..36e51cc 100644
#include <readline/readline.h>
#include <readline/history.h>
#include <fcntl.h>
diff --git a/configure.ac b/configure.ac
index 872c292..b1d7a68 100644
--- a/configure.ac
+++ b/configure.ac
@@ -241,6 +241,7 @@ dnl
dnl Checks for libdl - on certain platforms its part of libc
dnl
AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=])
+AS_IF([test "$ac_cv_search_dlopen" = "none required"],[ac_cv_search_dlopen=""])
AC_SUBST([DL_LIBS], "$ac_cv_search_dlopen")
PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0],
diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c
index d276cfe..2aec785 100644
--- a/libnm-core/nm-utils.c

View File

@ -26,6 +26,7 @@ SRC_URI = " \
${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
file://0002-Do-not-create-settings-settings-property-documentati.patch \
file://0003-dlopen-failure.patch \
"
SRC_URI_append_libc-musl = " file://musl/0001-Fix-build-with-musl.patch"