Failing to parse pci device

David Aldrich david.aldrich.ntml at gmail.com
Tue Apr 8 18:34:07 CEST 2025


Hi
I am trying to build a legacy application with DPDK 19.11.14. It links
successfully but fails to parse the whitelisted pci device at runtime:

EAL parameters: phy_app --proc-type=primary --file-prefix wls -w 0000:43:00.1
EAL: Detected 64 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: failed to parse device "0000:43:00.1"
EAL: Unable to parse device '0000:43:00.1'

I think this suggests that the rte_bus_pci library is not loaded?

I suspect my linker command is incorrect. I am using CMake and I
detect the dpdk install using pkg-config. My linker directive is:

target_link_libraries(testApp PRIVATE
    -Wl,--start-group
    -lpthread
    -lrt
    -lhugetlbfs
    -Wl,-lm
    -Wl,-lnuma
    -L${WLS_LIB_PATH}
    -lwls
    -L${_dpdk_lib_path}
    -Wl,--whole-archive
    ${DPDK_STATIC_LDFLAGS}   # DPDK libraries - static linking
    -Wl,--no-whole-archive
    -Wl,--end-group
)

I don't understand well the linker directives such as 'start-group'
and 'whole-archive'.  Please could someone review the
target_link_libraries directive above and suggest what may be wrong?

I should mention that the DPDK 23.11 driver is running on the target
server, but I get a similar parse error if I build with DPDK 23.11.


More information about the users mailing list