[dpdk-dev] [Bug 836] DPDK doesn't build under meson 0.60

bugzilla at dpdk.org bugzilla at dpdk.org
Mon Oct 25 12:46:28 CEST 2021


https://bugs.dpdk.org/show_bug.cgi?id=836

            Bug ID: 836
           Summary: DPDK doesn't build under meson 0.60
           Product: DPDK
           Version: 21.08
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: meson
          Assignee: dev at dpdk.org
          Reporter: michallinuxstuff at gmail.com
  Target Milestone: ---

Due to
https://github.com/mesonbuild/meson/commit/0a3a9fa0c3ebf45c94d9009a59cead571cbecf7b
gen-pmdinfo-cfile.py fails to run `ar x` against the .a files which were
created as thin archives. This happens for all the .a files for which meson
generates `LINK_ARGS = csrDT` (note the T option) inside the build.ninja.
Here's a failing trace:

ninja: Entering directory `/git_repos/spdk_repo/spdk/dpdk/build-tmp'
[243/272] Generating drivers/rte_bus_vdev.pmd.c with a custom command
FAILED: drivers/rte_bus_vdev.pmd.c
/usr/bin/python3 ../buildtools/gen-pmdinfo-cfile.py
/git_repos/spdk_repo/spdk/dpdk/build-tmp/buildtools ar
/git_repos/spdk_repo/spdk/dpdk/build-tmp/drivers/libtmp_rte_bus_vdev.a
drivers/rte_bus_vdev.pmd.c /usr/bin/python3 ../buildtools/pmdinfogen.py elf
ar: `x' cannot be used on thin archives.
Traceback (most recent call last):
  File
"/git_repos/spdk_repo/spdk/dpdk/build-tmp/../buildtools/gen-pmdinfo-cfile.py",
line 28, in <module>
    run_ar("x")
  File
"/git_repos/spdk_repo/spdk/dpdk/build-tmp/../buildtools/gen-pmdinfo-cfile.py",
line 23, in <lambda>
    run_ar = lambda command: subprocess.run(
  File "/usr/lib64/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ar', 'x',
'/git_repos/spdk_repo/spdk/dpdk/build-tmp/drivers/libtmp_rte_bus_vdev.a']'
returned non-zero exit status 1.


If I comment the `run_ar("x")` out the build succeeds (my understanding is that
if the .a is indeed a thin archive it consists of only references to .c.o files
which are already available so we are not missing anything). Skipping the thin
.as also seems to be working. That said, my dpdk-fu in terms of its building
components is not strong enough, hence I am not really sure what would be right
fix here. 

Reverting to meson < 0.60 (e.g. 0.59.2) also does the trick, but any hints,
suggestions as to the right fix would be appreciated.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the dev mailing list