Hi, I was working on the new 16.04 build system to adapt deb packaging to it. I remember somewhen back in the DPDK 2.2 and shared+combined library days I had some issues with over/underlinking - but it seems those are still existent or came back.
After a build in almost default config (just disabled the kernel modules) and set RTE_MACHINE to default I find the following. #1 The libraries are all only linked against external things - even clearly using internal structures: ldd usr/lib/x86_64-linux-gnu/librte_lpm.so.2 linux-vdso.so.1 => (0x00007fff7e7a5000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f175d4dd000) /lib64/ld-linux-x86-64.so.2 (0x0000558d3afbf000) #2 The Application then seem to try to make up for that by realizing all that is missing. But looking at the app alone it seems overlinked by that - it is not using all of these on its own. ldd usr/bin/cmdline_test linux-vdso.so.1 => (0x00007ffeec9ea000) librte_distributor.so.1 => not found librte_reorder.so.1 => not found [...] librte_jobstats.so.1 => not found [...] And for example none of the librte_jobstats.so.1 symbols are used "directly" in there. I'm still digging into that concept of using a linker script for all of that and some of the new implications by that. And eventually thing "work", but this linking at least feels wrong to me. So I wanted to ask - is that intentional - or should that be fixed? If it should be fixed are there obvious suggestions where/how? And if it is intentional - could one be so nice to elaborate it a bit for me - thanks in advance. Christian Ehrhardt Software Engineer, Ubuntu Server Canonical Ltd