[oe] [meta-networking][PATCH] networkmanager: Fix build with clang

Khem Raj raj.khem at gmail.com
Sat Apr 6 18:42:23 UTC 2019


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 at gmail.com>
Cc: Andreas Müller <schnitzeltony at gmail.com>
---
 .../networkmanager/0003-dlopen-failure.patch  | 34 +++++++++++++++++++
 .../musl/0001-Fix-build-with-musl.patch       | 13 -------
 .../networkmanager/networkmanager_1.16.0.bb   |  1 +
 3 files changed, 35 insertions(+), 13 deletions(-)
 create mode 100644 meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch

diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch
new file mode 100644
index 0000000000..e99c22710c
--- /dev/null
+++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch
@@ -0,0 +1,34 @@
+From 57239fda56b68a8f3e413f7b6af5290ba0d86636 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony at 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 at 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
diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl.patch
index 21e9a16d6d..b3f93ff92b 100644
--- a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl.patch
+++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl.patch
@@ -11,7 +11,6 @@ Upstream-Status: Pending
 Signed-off-by: Andreas Müller <schnitzeltony at 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
diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb
index 90792ff4ee..9f57908e96 100644
--- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb
+++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb
@@ -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"
 
-- 
2.21.0



More information about the Openembedded-devel mailing list