CC Tianfei, who is maintainer.
> -----Original Message-----
> From: Hussin, Mohamad Noor Alim <mohamad.noor.alim.hussin@intel.com>
> Sent: Wednesday, June 30, 2021 17:26
> To: Xu, Rosen <rosen.xu@intel.com>
> Cc: dev@dpdk.org; Hussin, Mohamad Noor Alim
> <mohamad.noor.alim.hussin@intel.com>; Huang, Wei
> <wei.huang@intel.com>; stable@dpdk.org
> Subject: [PATCH v2] ifpga/base/meson: fix looking for librt
>
> Finding with "librt" keyword would give the output with full path of librt such
> as /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/librt.so
> instead of -lrt in libdpdk.pc pkg-config file.
>
> Assume find_library() will prepend "lib", thus remove "lib" from "librt"
> keyword. The output will shows as -lrt.
>
> This will cause an issue when compile DPDK app with static library as the
> path of librt has been hard-coded in the libdpdk.pc file.
>
> Fixes: e41856b515ce ("raw/ifpga/base: enhance driver reliability in multi-
> process")
> Cc: wei.huang@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Mohamad Noor Alim Hussin
> <mohamad.noor.alim.hussin@intel.com>
> ---
> drivers/raw/ifpga/base/meson.build | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/raw/ifpga/base/meson.build
> b/drivers/raw/ifpga/base/meson.build
> index 8d27c6021..ce592a13a 100644
> --- a/drivers/raw/ifpga/base/meson.build
> +++ b/drivers/raw/ifpga/base/meson.build
> @@ -27,7 +27,7 @@ sources = [
>
> rtdep = dependency('librt', required: false) if not rtdep.found()
> - rtdep = cc.find_library('librt', required: false)
> + rtdep = cc.find_library('rt', required: false)
> endif
> if not rtdep.found()
> build = false
> --
> 2.17.1
> -----Original Message----- > From: Xu, Rosen <rosen.xu@intel.com> > Sent: 2021年6月30日 18:03 > To: Hussin, Mohamad Noor Alim <mohamad.noor.alim.hussin@intel.com>; > Zhang, Tianfei <tianfei.zhang@intel.com> > Cc: dev@dpdk.org; Huang, Wei <wei.huang@intel.com>; stable@dpdk.org > Subject: RE: [PATCH v2] ifpga/base/meson: fix looking for librt > > CC Tianfei, who is maintainer. > > > -----Original Message----- > > From: Hussin, Mohamad Noor Alim > <mohamad.noor.alim.hussin@intel.com> > > Sent: Wednesday, June 30, 2021 17:26 > > To: Xu, Rosen <rosen.xu@intel.com> > > Cc: dev@dpdk.org; Hussin, Mohamad Noor Alim > > <mohamad.noor.alim.hussin@intel.com>; Huang, Wei > > <wei.huang@intel.com>; stable@dpdk.org > > Subject: [PATCH v2] ifpga/base/meson: fix looking for librt > > > > Finding with "librt" keyword would give the output with full path of > > librt such as > > /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/librt.so > > instead of -lrt in libdpdk.pc pkg-config file. > > > > Assume find_library() will prepend "lib", thus remove "lib" from "librt" > > keyword. The output will shows as -lrt. > > > > This will cause an issue when compile DPDK app with static library as > > the path of librt has been hard-coded in the libdpdk.pc file. How to reproduce this issue? > > > > Fixes: e41856b515ce ("raw/ifpga/base: enhance driver reliability in > > multi- > > process") > > Cc: wei.huang@intel.com > > Cc: stable@dpdk.org > > > > Signed-off-by: Mohamad Noor Alim Hussin > > <mohamad.noor.alim.hussin@intel.com> > > --- > > drivers/raw/ifpga/base/meson.build | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/raw/ifpga/base/meson.build > > b/drivers/raw/ifpga/base/meson.build > > index 8d27c6021..ce592a13a 100644 > > --- a/drivers/raw/ifpga/base/meson.build > > +++ b/drivers/raw/ifpga/base/meson.build > > @@ -27,7 +27,7 @@ sources = [ > > > > rtdep = dependency('librt', required: false) if not rtdep.found() > > - rtdep = cc.find_library('librt', required: false) > > + rtdep = cc.find_library('rt', required: false) > > endif > > if not rtdep.found() > > build = false > > -- > > 2.17.1
Hi Tianfei, To reproduce this, assume using Ubuntu 20.04. 1. Install libfdt (It will include ifpga driver from drivers/raw/ifpga/base) $ sudo apt-get install libfdt-dev 2. configure DPDK library $ meson build 3. check libdpdk.pc file in build/meson-private/libdpdk.pc. It will include path to librt.so without this patch. Regards, Alim Hussin -----Original Message----- From: Zhang, Tianfei <tianfei.zhang@intel.com> Sent: Thursday, July 1, 2021 9:19 PM To: Xu, Rosen <rosen.xu@intel.com>; Hussin, Mohamad Noor Alim <mohamad.noor.alim.hussin@intel.com> Cc: dev@dpdk.org; Huang, Wei <wei.huang@intel.com>; stable@dpdk.org Subject: RE: [PATCH v2] ifpga/base/meson: fix looking for librt > -----Original Message----- > From: Xu, Rosen <rosen.xu@intel.com> > Sent: 2021年6月30日 18:03 > To: Hussin, Mohamad Noor Alim <mohamad.noor.alim.hussin@intel.com>; > Zhang, Tianfei <tianfei.zhang@intel.com> > Cc: dev@dpdk.org; Huang, Wei <wei.huang@intel.com>; stable@dpdk.org > Subject: RE: [PATCH v2] ifpga/base/meson: fix looking for librt > > CC Tianfei, who is maintainer. > > > -----Original Message----- > > From: Hussin, Mohamad Noor Alim > <mohamad.noor.alim.hussin@intel.com> > > Sent: Wednesday, June 30, 2021 17:26 > > To: Xu, Rosen <rosen.xu@intel.com> > > Cc: dev@dpdk.org; Hussin, Mohamad Noor Alim > > <mohamad.noor.alim.hussin@intel.com>; Huang, Wei > > <wei.huang@intel.com>; stable@dpdk.org > > Subject: [PATCH v2] ifpga/base/meson: fix looking for librt > > > > Finding with "librt" keyword would give the output with full path of > > librt such as > > /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/librt.so > > instead of -lrt in libdpdk.pc pkg-config file. > > > > Assume find_library() will prepend "lib", thus remove "lib" from "librt" > > keyword. The output will shows as -lrt. > > > > This will cause an issue when compile DPDK app with static library > > as the path of librt has been hard-coded in the libdpdk.pc file. How to reproduce this issue? > > > > Fixes: e41856b515ce ("raw/ifpga/base: enhance driver reliability in > > multi- > > process") > > Cc: wei.huang@intel.com > > Cc: stable@dpdk.org > > > > Signed-off-by: Mohamad Noor Alim Hussin > > <mohamad.noor.alim.hussin@intel.com> > > --- > > drivers/raw/ifpga/base/meson.build | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/raw/ifpga/base/meson.build > > b/drivers/raw/ifpga/base/meson.build > > index 8d27c6021..ce592a13a 100644 > > --- a/drivers/raw/ifpga/base/meson.build > > +++ b/drivers/raw/ifpga/base/meson.build > > @@ -27,7 +27,7 @@ sources = [ > > > > rtdep = dependency('librt', required: false) if not rtdep.found() > > - rtdep = cc.find_library('librt', required: false) > > + rtdep = cc.find_library('rt', required: false) > > endif > > if not rtdep.found() > > build = false > > -- > > 2.17.1
> > Hi Tianfei, > > To reproduce this, assume using Ubuntu 20.04. > 1. Install libfdt (It will include ifpga driver from drivers/raw/ifpga/base) > $ sudo apt-get install libfdt-dev > 2. configure DPDK library > $ meson build > 3. check libdpdk.pc file in build/meson-private/libdpdk.pc. It will include path > to librt.so without this patch. I have checked the libdpdk.pc and got the different between with and without this patch. Without this patch, there are a full path for librt.so in libdpdk.pc. With this patch, it provide "-lrt" in libdpdk.pc. This patch looks good for me. Acked-by: Tianfei Zhang <Tianfei.zhang@intel.com> > > Regards, > Alim Hussin > > -----Original Message----- > From: Zhang, Tianfei <tianfei.zhang@intel.com> > Sent: Thursday, July 1, 2021 9:19 PM > To: Xu, Rosen <rosen.xu@intel.com>; Hussin, Mohamad Noor Alim > <mohamad.noor.alim.hussin@intel.com> > Cc: dev@dpdk.org; Huang, Wei <wei.huang@intel.com>; stable@dpdk.org > Subject: RE: [PATCH v2] ifpga/base/meson: fix looking for librt > > > > > -----Original Message----- > > From: Xu, Rosen <rosen.xu@intel.com> > > Sent: 2021年6月30日 18:03 > > To: Hussin, Mohamad Noor Alim <mohamad.noor.alim.hussin@intel.com>; > > Zhang, Tianfei <tianfei.zhang@intel.com> > > Cc: dev@dpdk.org; Huang, Wei <wei.huang@intel.com>; stable@dpdk.org > > Subject: RE: [PATCH v2] ifpga/base/meson: fix looking for librt > > > > CC Tianfei, who is maintainer. > > > > > -----Original Message----- > > > From: Hussin, Mohamad Noor Alim > > <mohamad.noor.alim.hussin@intel.com> > > > Sent: Wednesday, June 30, 2021 17:26 > > > To: Xu, Rosen <rosen.xu@intel.com> > > > Cc: dev@dpdk.org; Hussin, Mohamad Noor Alim > > > <mohamad.noor.alim.hussin@intel.com>; Huang, Wei > > > <wei.huang@intel.com>; stable@dpdk.org > > > Subject: [PATCH v2] ifpga/base/meson: fix looking for librt > > > > > > Finding with "librt" keyword would give the output with full path of > > > librt such as > > > /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/librt.so > > > instead of -lrt in libdpdk.pc pkg-config file. > > > > > > Assume find_library() will prepend "lib", thus remove "lib" from "librt" > > > keyword. The output will shows as -lrt. > > > > > > This will cause an issue when compile DPDK app with static library > > > as the path of librt has been hard-coded in the libdpdk.pc file. > > How to reproduce this issue? > > > > > > > Fixes: e41856b515ce ("raw/ifpga/base: enhance driver reliability in > > > multi- > > > process") > > > Cc: wei.huang@intel.com > > > Cc: stable@dpdk.org > > > > > > Signed-off-by: Mohamad Noor Alim Hussin > > > <mohamad.noor.alim.hussin@intel.com> > > > --- > > > drivers/raw/ifpga/base/meson.build | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/raw/ifpga/base/meson.build > > > b/drivers/raw/ifpga/base/meson.build > > > index 8d27c6021..ce592a13a 100644 > > > --- a/drivers/raw/ifpga/base/meson.build > > > +++ b/drivers/raw/ifpga/base/meson.build > > > @@ -27,7 +27,7 @@ sources = [ > > > > > > rtdep = dependency('librt', required: false) if not rtdep.found() > > > - rtdep = cc.find_library('librt', required: false) > > > + rtdep = cc.find_library('rt', required: false) > > > endif > > > if not rtdep.found() > > > build = false > > > -- > > > 2.17.1
Hello,
On Wed, Jul 14, 2021 at 5:40 AM Zhang, Tianfei <tianfei.zhang@intel.com> wrote:
>
> >
> > Hi Tianfei,
> >
> > To reproduce this, assume using Ubuntu 20.04.
> > 1. Install libfdt (It will include ifpga driver from drivers/raw/ifpga/base)
> > $ sudo apt-get install libfdt-dev
> > 2. configure DPDK library
> > $ meson build
> > 3. check libdpdk.pc file in build/meson-private/libdpdk.pc. It will include path
> > to librt.so without this patch.
>
> I have checked the libdpdk.pc and got the different between with and without this patch.
> Without this patch, there are a full path for librt.so in libdpdk.pc. With this patch, it provide "-lrt" in libdpdk.pc.
>
> This patch looks good for me.
>
> Acked-by: Tianfei Zhang <Tianfei.zhang@intel.com>
I can't find the original mail to dev@dpdk.org and patchwork did not help.
Please, can you resubmit this patch?
Also copy Bruce as this touches a meson subtlety I was not aware of,
and he should probably have a look.
Thanks.
--
David Marchand
On Thu, Jul 15, 2021 at 10:00:19AM +0200, David Marchand wrote:
> Hello,
>
> On Wed, Jul 14, 2021 at 5:40 AM Zhang, Tianfei <tianfei.zhang@intel.com> wrote:
> >
> > >
> > > Hi Tianfei,
> > >
> > > To reproduce this, assume using Ubuntu 20.04.
> > > 1. Install libfdt (It will include ifpga driver from drivers/raw/ifpga/base)
> > > $ sudo apt-get install libfdt-dev
> > > 2. configure DPDK library
> > > $ meson build
> > > 3. check libdpdk.pc file in build/meson-private/libdpdk.pc. It will include path
> > > to librt.so without this patch.
> >
> > I have checked the libdpdk.pc and got the different between with and without this patch.
> > Without this patch, there are a full path for librt.so in libdpdk.pc. With this patch, it provide "-lrt" in libdpdk.pc.
> >
> > This patch looks good for me.
> >
> > Acked-by: Tianfei Zhang <Tianfei.zhang@intel.com>
>
> I can't find the original mail to dev@dpdk.org and patchwork did not help.
> Please, can you resubmit this patch?
>
> Also copy Bruce as this touches a meson subtlety I was not aware of,
> and he should probably have a look.
>
Thanks for flagging this to me, I wasn't aware of the subtlety here at all,
but it's good to know for future reference. If asked, I would generally
have recommended using find_library without the "lib" prefix on the library
name, but I had no idea using with or without leads to different output.
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
/Bruce
From: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com> Finding with "librt" keyword would give the output with full path of librt such as /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/librt.so instead of -lrt in libdpdk.pc pkg-config file. Assume find_library() will prepend "lib", thus remove "lib" from "librt" keyword. The output will shows as -lrt. This will cause an issue when compile DPDK app with static library as the path of librt has been hard-coded in the libdpdk.pc file. Fixes: e41856b515ce ("raw/ifpga/base: enhance driver reliability in multi-process") Cc: tianfei.zhang@intel.com Cc: stable@dpdk.org Signed-off-by: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com> --- drivers/raw/ifpga/base/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/raw/ifpga/base/meson.build b/drivers/raw/ifpga/base/meson.build index da2d6e33c..949f7f127 100644 --- a/drivers/raw/ifpga/base/meson.build +++ b/drivers/raw/ifpga/base/meson.build @@ -25,7 +25,7 @@ sources = [ rtdep = dependency('librt', required: false) if not rtdep.found() - rtdep = cc.find_library('librt', required: false) + rtdep = cc.find_library('rt', required: false) endif if not rtdep.found() build = false -- 2.32.0
On 7/22/2021 9:16 AM, mohamad.noor.alim.hussin@intel.com wrote:
> From: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com>
>
> Finding with "librt" keyword would give the output with full path of librt such
> as /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/librt.so
> instead of -lrt in libdpdk.pc pkg-config file.
>
> Assume find_library() will prepend "lib", thus remove "lib" from "librt"
> keyword. The output will shows as -lrt.
>
> This will cause an issue when compile DPDK app with static library as the
> path of librt has been hard-coded in the libdpdk.pc file.
>
> Fixes: e41856b515ce ("raw/ifpga/base: enhance driver reliability in multi-process")
> Cc: tianfei.zhang@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com>
This patch is resent, because original patch was not in the patchwork as David
reminded.
But first patch already has acks, I am moving them here:
Acked-by: Tianfei Zhang <tianfei.zhang@intel.com>
(converted email address to all lowercase)
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Also I can produce the same, and patch looks good to me.
But it fails to apply clearly because of the white-space differences, and this
prevents CI running.
@Mohamad, can you please send a new version rebasing on top of latest code?
Please keep the acks above in the next version commit log, since the change will
be only white-space.
Thanks,
ferruh
From: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com> Finding with "librt" keyword would give the output with full path of librt such as /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/librt.so instead of -lrt in libdpdk.pc pkg-config file. Assume find_library() will prepend "lib", thus remove "lib" from "librt" keyword. The output will shows as -lrt. This will cause an issue when compile DPDK app with static library as the path of librt has been hard-coded in the libdpdk.pc file. Fixes: e41856b515ce ("raw/ifpga/base: enhance driver reliability in multi-process") Cc: tianfei.zhang@intel.com Cc: stable@dpdk.org Acked-by: Tianfei Zhang <tianfei.zhang@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Signed-off-by: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com> --- drivers/raw/ifpga/base/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/raw/ifpga/base/meson.build b/drivers/raw/ifpga/base/meson.build index db602cee69..2de8e7ea22 100644 --- a/drivers/raw/ifpga/base/meson.build +++ b/drivers/raw/ifpga/base/meson.build @@ -27,7 +27,7 @@ sources = [ rtdep = dependency('librt', required: false) if not rtdep.found() - rtdep = cc.find_library('librt', required: false) + rtdep = cc.find_library('rt', required: false) endif if not rtdep.found() build = false -- 2.32.0
28/09/2021 06:36, mohamad.noor.alim.hussin@intel.com:
> From: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com>
>
> Finding with "librt" keyword would give the output with
> full path of librt such as
> /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/librt.so
> instead of -lrt in libdpdk.pc pkg-config file.
>
> Assume find_library() will prepend "lib", thus remove
> "lib" from "librt" keyword. The output will shows
> as -lrt.
>
> This will cause an issue when compile DPDK app with
> static library as the path of librt has been hard-coded
> in the libdpdk.pc file.
>
> Fixes: e41856b515ce ("raw/ifpga/base: enhance driver reliability in multi-process")
> Cc: tianfei.zhang@intel.com
> Cc: stable@dpdk.org
>
> Acked-by: Tianfei Zhang <tianfei.zhang@intel.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
>
> Signed-off-by: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com>
Applied, thanks.