DPDK patches and discussions
 help / color / mirror / Atom feed
* dpdk-22.07
@ 2022-08-22 15:02 Michael Lekar
  2022-08-24  8:06 ` dpdk-22.07 Bruce Richardson
  2022-08-24 14:28 ` dpdk-22.07 Stephen Hemminger
  0 siblings, 2 replies; 7+ messages in thread
From: Michael Lekar @ 2022-08-22 15:02 UTC (permalink / raw)
  To: dev

[-- Attachment #1: Type: text/plain, Size: 1566 bytes --]

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 =>  (0x00007ffff7ffd000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ffff7cfd000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffff7af9000)
        libnuma.so.1 => /usr/lib/libnuma.so.1 (0x00007ffff78ed000)
        libpcap.so.1 => /usr/lib/libpcap.so.1 (0x00007ffff76ac000)
        libatomic.so.1 => /usr/lib/libatomic.so.1 (0x00007ffff74a4000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ffff7286000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffff6ec9000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
[ulp-ng]#

Regards,
Michael




[-- Attachment #2: Type: text/html, Size: 5956 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: dpdk-22.07
  2022-08-22 15:02 dpdk-22.07 Michael Lekar
@ 2022-08-24  8:06 ` Bruce Richardson
  2022-08-24  8:32   ` dpdk-22.07 Michael Lekar
  2022-08-24 14:28 ` dpdk-22.07 Stephen Hemminger
  1 sibling, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2022-08-24  8:06 UTC (permalink / raw)
  To: Michael Lekar; +Cc: dev

On Mon, Aug 22, 2022 at 03:02:38PM +0000, 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 =>  (0x00007ffff7ffd000)
> 
>            libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
>    (0x00007ffff7cfd000)
> 
>            libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
>    (0x00007ffff7af9000)
> 
>            libnuma.so.1 => /usr/lib/libnuma.so.1 (0x00007ffff78ed000)
> 
>            libpcap.so.1 => /usr/lib/libpcap.so.1 (0x00007ffff76ac000)
> 
>            libatomic.so.1 => /usr/lib/libatomic.so.1 (0x00007ffff74a4000)
> 
>            libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
>    (0x00007ffff7286000)
> 
>            libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
>    (0x00007ffff6ec9000)
> 
>            /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
> 
>    [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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: dpdk-22.07
  2022-08-24  8:06 ` dpdk-22.07 Bruce Richardson
@ 2022-08-24  8:32   ` Michael Lekar
  2022-08-24  8:45     ` dpdk-22.07 Bruce Richardson
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Lekar @ 2022-08-24  8:32 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev

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 <bruce.richardson@intel.com> 
Sent: Wednesday, August 24, 2022 11:07 AM
To: Michael Lekar <MichaelLe@Radware.com>
Cc: dev@dpdk.org
Subject: Re: dpdk-22.07

On Mon, Aug 22, 2022 at 03:02:38PM +0000, 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 =>  (0x00007ffff7ffd000)
> 
>            libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
>    (0x00007ffff7cfd000)
> 
>            libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
>    (0x00007ffff7af9000)
> 
>            libnuma.so.1 => /usr/lib/libnuma.so.1 (0x00007ffff78ed000)
> 
>            libpcap.so.1 => /usr/lib/libpcap.so.1 (0x00007ffff76ac000)
> 
>            libatomic.so.1 => /usr/lib/libatomic.so.1 
> (0x00007ffff74a4000)
> 
>            libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
>    (0x00007ffff7286000)
> 
>            libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
>    (0x00007ffff6ec9000)
> 
>            /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
> 
>    [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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: dpdk-22.07
  2022-08-24  8:32   ` dpdk-22.07 Michael Lekar
@ 2022-08-24  8:45     ` Bruce Richardson
  2022-08-24  8:59       ` dpdk-22.07 Michael Lekar
  0 siblings, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2022-08-24  8:45 UTC (permalink / raw)
  To: Michael Lekar; +Cc: dev

On Wed, Aug 24, 2022 at 08:32:34AM +0000, 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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: dpdk-22.07
  2022-08-24  8:45     ` dpdk-22.07 Bruce Richardson
@ 2022-08-24  8:59       ` Michael Lekar
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Lekar @ 2022-08-24  8:59 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev

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 <bruce.richardson@intel.com> 
Sent: Wednesday, August 24, 2022 11:45 AM
To: Michael Lekar <MichaelLe@Radware.com>
Cc: dev@dpdk.org
Subject: Re: dpdk-22.07

On Wed, Aug 24, 2022 at 08:32:34AM +0000, 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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: dpdk-22.07
  2022-08-22 15:02 dpdk-22.07 Michael Lekar
  2022-08-24  8:06 ` dpdk-22.07 Bruce Richardson
@ 2022-08-24 14:28 ` Stephen Hemminger
  2022-08-25  8:50   ` dpdk-22.07 Michael Lekar
  1 sibling, 1 reply; 7+ messages in thread
From: Stephen Hemminger @ 2022-08-24 14:28 UTC (permalink / raw)
  To: Michael Lekar; +Cc: dev

[-- Attachment #1: Type: text/plain, Size: 1893 bytes --]

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 <MichaelLe@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 =>  (0x00007ffff7ffd000)
>
>         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ffff7cfd000)
>
>         libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffff7af9000)
>
>         libnuma.so.1 => /usr/lib/libnuma.so.1 (0x00007ffff78ed000)
>
>         libpcap.so.1 => /usr/lib/libpcap.so.1 (0x00007ffff76ac000)
>
>         libatomic.so.1 => /usr/lib/libatomic.so.1 (0x00007ffff74a4000)
>
>         libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> (0x00007ffff7286000)
>
>         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffff6ec9000)
>
>         /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
>
> [ulp-ng]#
>
>
>
> Regards,
>
> Michael
>
>
>
>
>
>
>
>

[-- Attachment #2: Type: text/html, Size: 4872 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: dpdk-22.07
  2022-08-24 14:28 ` dpdk-22.07 Stephen Hemminger
@ 2022-08-25  8:50   ` Michael Lekar
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Lekar @ 2022-08-25  8:50 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev

[-- Attachment #1: Type: text/plain, Size: 2053 bytes --]

Hello Stephen,

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

Regards,
Michael

From: Stephen Hemminger <stephen@networkplumber.org>
Sent: Wednesday, August 24, 2022 5:28 PM
To: Michael Lekar <MichaelLe@radware.com>
Cc: dev <dev@dpdk.org>
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 <MichaelLe@radware.com<mailto:MichaelLe@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 =>  (0x00007ffff7ffd000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ffff7cfd000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffff7af9000)
        libnuma.so.1 => /usr/lib/libnuma.so.1 (0x00007ffff78ed000)
        libpcap.so.1 => /usr/lib/libpcap.so.1 (0x00007ffff76ac000)
        libatomic.so.1 => /usr/lib/libatomic.so.1 (0x00007ffff74a4000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ffff7286000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffff6ec9000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
[ulp-ng]#

Regards,
Michael




[-- Attachment #2: Type: text/html, Size: 7288 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-08-25  8:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-22 15:02 dpdk-22.07 Michael Lekar
2022-08-24  8:06 ` dpdk-22.07 Bruce Richardson
2022-08-24  8:32   ` dpdk-22.07 Michael Lekar
2022-08-24  8:45     ` dpdk-22.07 Bruce Richardson
2022-08-24  8:59       ` dpdk-22.07 Michael Lekar
2022-08-24 14:28 ` dpdk-22.07 Stephen Hemminger
2022-08-25  8:50   ` dpdk-22.07 Michael Lekar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).