On Tue, Mar 14, 2023 at 05:22:02PM +0100, Mattias Rönnblom wrote:
> Hi.
> 
> Is the "b_staticpic" meson build option supposed to work with DPDK?
> 
> Setting it to "false" (default is "true") causes link failures on Ubuntu
> 22.04, with GCC 9 and 11, on v23.03rc1 and v22.11:
> 
> /usr/bin/ld: lib/librte_eal.a.p/eal_common_eal_common_errno.c.o: relocation
> R_X86_64_TPOFF32 against `per_lcore_retval.1' can not be used when making a
> shared object; recompile with -fPIC
> /usr/bin/ld: failed to set dynamic section sizes: bad value
> collect2: error: ld returned 1 exit status
> 
> Does something per-lcore/TLS-related require PIC builds, even for static
> libraries?
> 
I don't think that is the issue. The "issue" is that DPDK always does both
static and shared builds from the same object files, so without -fPIC the
shared library parts of the build fails. To support not using staticpic,
we'd have to disable building the .so's in those cases, or each C file
built twice.
/Bruce

Reply via email to