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.richard...@intel.com> 
Sent: Wednesday, August 24, 2022 11:45 AM
To: Michael Lekar <michae...@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

Reply via email to