From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: bruce.richardson@intel.com, stable@dpdk.org,
"Matan Azrad" <matan@mellanox.com>,
"Shahaf Shuler" <shahafs@mellanox.com>,
"Viacheslav Ovsiienko" <viacheslavo@mellanox.com>,
"Nélio Laranjeiro" <nelio.laranjeiro@6wind.com>
Subject: [dpdk-dev] [PATCH v5 6/6] net/mlx: fix overlinking with meson and glue dlopen
Date: Wed, 12 Feb 2020 23:07:08 +0100 [thread overview]
Message-ID: <20200212220708.492297-7-thomas@monjalon.net> (raw)
In-Reply-To: <20200212220708.492297-1-thomas@monjalon.net>
If ibverbs_link is dlopen, the PMD and application should not
be linked with ibverbs, but the glue library is.
Unfortunately the ibverbs dependency was exported in the
variable ext_deps, so there were overlinking.
It is fixed by not exporting the dependency in ext_deps,
and recreating a limited dependency object for cflags only.
Fixes: 1dd7c7e38c19 ("net/mlx4: support meson build")
Fixes: 96d7c62a70c7 ("net/mlx5: support meson build")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/common/mlx5/meson.build | 6 ++++--
drivers/net/mlx4/meson.build | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/common/mlx5/meson.build b/drivers/common/mlx5/meson.build
index 0fe086136a..cfc178257d 100644
--- a/drivers/common/mlx5/meson.build
+++ b/drivers/common/mlx5/meson.build
@@ -29,7 +29,7 @@ foreach libname:libnames
endif
if lib.found()
libs += lib
- if not static_ibverbs
+ if not static_ibverbs and not dlopen_ibverbs
ext_deps += lib
endif
else
@@ -38,10 +38,12 @@ foreach libname:libnames
subdir_done()
endif
endforeach
-if static_ibverbs
+if static_ibverbs or dlopen_ibverbs
# Build without adding shared libs to Requires.private
ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout()
ext_deps += declare_dependency(compile_args: ibv_cflags.split())
+endif
+if static_ibverbs
# Add static deps ldflags to internal apps and Libs.private
ibv_ldflags = run_command(ldflags_ibverbs_static, check:true).stdout()
ext_deps += declare_dependency(link_args:ibv_ldflags.split())
diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build
index f66e70f4d1..c598745730 100644
--- a/drivers/net/mlx4/meson.build
+++ b/drivers/net/mlx4/meson.build
@@ -30,7 +30,7 @@ foreach libname:libnames
endif
if lib.found()
libs += lib
- if not static_ibverbs
+ if not static_ibverbs and not dlopen_ibverbs
ext_deps += lib
endif
else
@@ -39,10 +39,12 @@ foreach libname:libnames
subdir_done()
endif
endforeach
-if static_ibverbs
+if static_ibverbs or dlopen_ibverbs
# Build without adding shared libs to Requires.private
ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout()
ext_deps += declare_dependency(compile_args: ibv_cflags.split())
+endif
+if static_ibverbs
# Add static deps ldflags to internal apps and Libs.private
ibv_ldflags = run_command(ldflags_ibverbs_static, check:true).stdout()
ext_deps += declare_dependency(link_args:ibv_ldflags.split())
--
2.25.0
next prev parent reply other threads:[~2020-02-12 22:08 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-16 7:16 [dpdk-dev] [PATCH 0/3] add static ibverbs in meson Thomas Monjalon
2020-01-16 7:16 ` [dpdk-dev] [PATCH 1/3] buildtools: rework static pkg-config script Thomas Monjalon
2020-01-16 7:16 ` [dpdk-dev] [PATCH 2/3] build: allow to hide dependencies from pkg-config Thomas Monjalon
2020-01-17 17:34 ` Bruce Richardson
2020-01-16 7:16 ` [dpdk-dev] [PATCH 3/3] net/mlx: support static ibverbs linkage with meson Thomas Monjalon
2020-01-27 15:43 ` [dpdk-dev] [PATCH v2 0/4] add static ibverbs in meson Thomas Monjalon
2020-01-27 15:43 ` [dpdk-dev] [PATCH v2 1/4] net/mlx: add static ibverbs linkage with meson Thomas Monjalon
2020-01-27 15:44 ` [dpdk-dev] [PATCH v2 2/4] buildtools: get static mlx dependencies for meson Thomas Monjalon
2020-01-29 15:37 ` Bruce Richardson
2020-01-29 17:48 ` Thomas Monjalon
2020-01-29 17:50 ` Bruce Richardson
2020-01-29 18:49 ` Thomas Monjalon
2020-01-29 17:48 ` Bruce Richardson
2020-01-27 15:44 ` [dpdk-dev] [PATCH v2 3/4] build: allow hiding dependencies from pkg-config Thomas Monjalon
2020-01-27 15:44 ` [dpdk-dev] [PATCH v2 4/4] net/mlx: workaround static linkage with meson Thomas Monjalon
2020-02-04 11:48 ` [dpdk-dev] [PATCH v2 0/4] add static ibverbs in meson Bruce Richardson
2020-02-04 14:27 ` Thomas Monjalon
2020-02-04 14:33 ` Bruce Richardson
2020-02-04 15:14 ` Thomas Monjalon
2020-02-04 15:20 ` Bruce Richardson
2020-02-11 1:19 ` [dpdk-dev] [PATCH v3 0/5] mlx ibverbs linking " Thomas Monjalon
2020-02-11 1:19 ` [dpdk-dev] [PATCH v3 1/5] net/mlx: add static ibverbs linkage with meson Thomas Monjalon
2020-02-11 1:19 ` [dpdk-dev] [PATCH v3 2/5] buildtools: get static mlx dependencies for meson Thomas Monjalon
2020-02-11 1:19 ` [dpdk-dev] [PATCH v3 3/5] net/mlx: workaround static linkage with meson Thomas Monjalon
2020-02-11 11:29 ` Bruce Richardson
2020-02-11 11:36 ` Thomas Monjalon
2020-02-11 11:43 ` Bruce Richardson
2020-02-11 1:19 ` [dpdk-dev] [PATCH v3 4/5] net/mlx: rename meson variable for dlopen option Thomas Monjalon
2020-02-11 1:19 ` [dpdk-dev] [PATCH v3 5/5] net/mlx: fix overlinking with meson and glue dlopen Thomas Monjalon
2020-02-11 11:32 ` Bruce Richardson
2020-02-11 11:34 ` Thomas Monjalon
2020-02-11 11:33 ` [dpdk-dev] [PATCH v3 0/5] mlx ibverbs linking in meson Bruce Richardson
2020-02-12 1:59 ` [dpdk-dev] [PATCH v4 0/6] " Thomas Monjalon
2020-02-12 1:59 ` [dpdk-dev] [PATCH v4 1/6] drivers: cleanup meson build variable Thomas Monjalon
2020-02-12 9:26 ` Xu, Rosen
2020-02-12 9:32 ` Thomas Monjalon
2020-02-12 15:04 ` [dpdk-dev] [dpdklab] " Jeremy Plsek
2020-02-12 15:18 ` Jeremy Plsek
2020-02-12 16:30 ` Thomas Monjalon
2020-02-12 16:36 ` Jeremy Plsek
2020-02-12 16:42 ` Thomas Monjalon
2020-02-12 16:46 ` Jeremy Plsek
2020-02-12 17:38 ` Thomas Monjalon
2020-02-12 18:03 ` Jeremy Plsek
2020-02-12 1:59 ` [dpdk-dev] [PATCH v4 2/6] net/mlx: add static ibverbs linkage with meson Thomas Monjalon
2020-02-12 1:59 ` [dpdk-dev] [PATCH v4 3/6] buildtools: get static mlx dependencies for meson Thomas Monjalon
2020-02-12 1:59 ` [dpdk-dev] [PATCH v4 4/6] net/mlx: workaround static linkage with meson Thomas Monjalon
2020-02-12 1:59 ` [dpdk-dev] [PATCH v4 5/6] net/mlx: rename meson variable for dlopen option Thomas Monjalon
2020-02-12 1:59 ` [dpdk-dev] [PATCH v4 6/6] net/mlx: fix overlinking with meson and glue dlopen Thomas Monjalon
2020-02-12 2:08 ` [dpdk-dev] [PATCH v4 0/6] mlx ibverbs linking in meson Thomas Monjalon
2020-02-12 22:07 ` [dpdk-dev] [PATCH v5 " Thomas Monjalon
2020-02-12 22:07 ` [dpdk-dev] [PATCH v5 1/6] drivers: cleanup meson build variable Thomas Monjalon
2020-02-13 0:25 ` Xu, Rosen
2020-02-12 22:07 ` [dpdk-dev] [PATCH v5 2/6] net/mlx: add static ibverbs linkage with meson Thomas Monjalon
2020-02-12 22:07 ` [dpdk-dev] [PATCH v5 3/6] buildtools: get static mlx dependencies for meson Thomas Monjalon
2020-02-12 22:07 ` [dpdk-dev] [PATCH v5 4/6] net/mlx: workaround static linkage with meson Thomas Monjalon
2020-02-12 22:07 ` [dpdk-dev] [PATCH v5 5/6] net/mlx: rename meson variable for dlopen option Thomas Monjalon
2020-02-12 22:07 ` Thomas Monjalon [this message]
2020-02-13 13:57 ` [dpdk-dev] [PATCH v5 0/6] mlx ibverbs linking in meson Raslan Darawsheh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200212220708.492297-7-thomas@monjalon.net \
--to=thomas@monjalon.net \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=matan@mellanox.com \
--cc=nelio.laranjeiro@6wind.com \
--cc=shahafs@mellanox.com \
--cc=stable@dpdk.org \
--cc=viacheslavo@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.