dpdk-22.07

2022-08-23 Thread Michael Lekar
Hi All,

My name is Michaele and I work in Radware Ltd . Currently we use 17.11.3 
version of dpdk in our product.  Now we want to evaluate 22.07 version of dpdk. 
 We want to build statically linkage dpdk-test application and run it on our 
device. We use 7.5 version of gcc. By default, dpdk-test uses shared library, 
and we don't find how to configure meson for build these test application 
static. We will be very applicate for any help with issue.


[ulp-ng]# ldd dpdk-test
./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.16' not found 
(required by ./dpdk-test)
./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17' not found 
(required by ./dpdk-test)
./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.27' not found 
(required by ./dpdk-test)
./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found 
(required by ./dpdk-test)
linux-vdso.so.1 =>  (0x77ffd000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x77cfd000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x77af9000)
libnuma.so.1 => /usr/lib/libnuma.so.1 (0x778ed000)
libpcap.so.1 => /usr/lib/libpcap.so.1 (0x776ac000)
libatomic.so.1 => /usr/lib/libatomic.so.1 (0x774a4000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x77286000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x76ec9000)
/lib64/ld-linux-x86-64.so.2 (0x4000)
[ulp-ng]#

Regards,
Michael





RE: dpdk-22.07

2022-08-24 Thread Michael Lekar
Thanks a lot for your answer. We need fully statically application, because we 
want to run it on device with older kernel, than building one.

Regards,
Michael

-Original Message-
From: Bruce Richardson  
Sent: Wednesday, August 24, 2022 11:07 AM
To: Michael Lekar 
Cc: dev@dpdk.org
Subject: Re: dpdk-22.07

On Mon, Aug 22, 2022 at 03:02:38PM +, Michael Lekar wrote:
>Hi All,
> 
> 
>My name is Michaele and I work in Radware Ltd . Currently we use
>17.11.3 version of dpdk in our product.  Now we want to evaluate 22.07
>version of dpdk.  We want to build statically linkage dpdk-test
>application and run it on our device. We use 7.5 version of gcc. By
>default, dpdk-test uses shared library, and we don’t find how to
>configure meson for build these test application static. We will be
>very applicate for any help with issue.
> 
> 
> 
>[ulp-ng]# ldd dpdk-test
> 
>./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.16' not
>found (required by ./dpdk-test)
> 
>./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17' not
>found (required by ./dpdk-test)
> 
>./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.27' not
>found (required by ./dpdk-test)
> 
>./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not
>found (required by ./dpdk-test)
> 
>linux-vdso.so.1 =>  (0x77ffd000)
> 
>libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
>(0x77cfd000)
> 
>libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
>(0x77af9000)
> 
>libnuma.so.1 => /usr/lib/libnuma.so.1 (0x778ed000)
> 
>libpcap.so.1 => /usr/lib/libpcap.so.1 (0x776ac000)
> 
>libatomic.so.1 => /usr/lib/libatomic.so.1 
> (0x774a4000)
> 
>libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
>(0x77286000)
> 
>libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
>(0x76ec9000)
> 
>/lib64/ld-linux-x86-64.so.2 (0x4000)
> 
>[ulp-ng]#
> 

This is not something we have ever looked to do with DPDK builds. Normally, we 
consider static builds to be builds where we link in all the DPDK libraries 
statically, but don't consider OS-libs for static linking. Is there a 
particular reason why you need a fully-static version of the code - can you 
compile and run on the same system, or build on a system with the same OS 
version as you intend running the code on?

/Bruce


RE: dpdk-22.07

2022-08-24 Thread Michael Lekar
I tried to change the meson configuration, by adding  c_args=-fno-builtin and 
changing  default_ldflags to "-static" instead of "--export-dynamic " in 
app/meson.build. But in the case I got LD error about missed lgcc_s  library. 
Really I have only shared libgcc_s on my build machine. I am not familiar witch 
meson and it's configuration, so I suppose that I do something wrong.

Regards,
Michael

-Original Message-
From: Bruce Richardson  
Sent: Wednesday, August 24, 2022 11:45 AM
To: Michael Lekar 
Cc: dev@dpdk.org
Subject: Re: dpdk-22.07

On Wed, Aug 24, 2022 at 08:32:34AM +, Michael Lekar wrote:
> Thanks a lot for your answer. We need fully statically application, because 
> we want to run it on device with older kernel, than building one.
> 
It's probably more the libc version that would be an issue rather than the 
kernel itself. This should be possible to do, but may need some changes to our 
build system.

Some suggestions (all untested):
* You can use the meson "c_link_args" option to set additional linking
  flags, so perhaps try that to get static versions of some libraries
  linked in
* If that doesn't work, if you remove the .so version of the libs (other than
  libc) that DPDK is linking against and only have the .a file available, I
  would expect DPDK build to use those .a files instead, which should give
  a binary only requiring a dynamic libc version.
* the c_link_args may then allow you to statically link in your libc too,
  if you can find the right parameters.

/Bruce


RE: dpdk-22.07

2022-08-25 Thread Michael Lekar
Hello Stephen,

We see the same issue with stable 21.11 version of dpdk.

Regards,
Michael

From: Stephen Hemminger 
Sent: Wednesday, August 24, 2022 5:28 PM
To: Michael Lekar 
Cc: dev 
Subject: Re: dpdk-22.07

Please choose a stable version 22.11 soon, or 21.11.  bugs in 22.07 will not be 
fixed

On Tue, Aug 23, 2022, 11:38 PM Michael Lekar 
mailto:michae...@radware.com>> wrote:
Hi All,

My name is Michaele and I work in Radware Ltd . Currently we use 17.11.3 
version of dpdk in our product.  Now we want to evaluate 22.07 version of dpdk. 
 We want to build statically linkage dpdk-test application and run it on our 
device. We use 7.5 version of gcc. By default, dpdk-test uses shared library, 
and we don’t find how to configure meson for build these test application 
static. We will be very applicate for any help with issue.


[ulp-ng]# ldd dpdk-test
./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.16' not found 
(required by ./dpdk-test)
./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17' not found 
(required by ./dpdk-test)
./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.27' not found 
(required by ./dpdk-test)
./dpdk-test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found 
(required by ./dpdk-test)
linux-vdso.so.1 =>  (0x77ffd000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x77cfd000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x77af9000)
libnuma.so.1 => /usr/lib/libnuma.so.1 (0x778ed000)
libpcap.so.1 => /usr/lib/libpcap.so.1 (0x776ac000)
libatomic.so.1 => /usr/lib/libatomic.so.1 (0x774a4000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x77286000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x76ec9000)
/lib64/ld-linux-x86-64.so.2 (0x4000)
[ulp-ng]#

Regards,
Michael