Hi Matthew, Could you provide steps to reproduce your issue with virtio non-UIO PMD (virtio-net-pmd) using static combined DPDK lib?
Regarding one of your comments: > It doesn't seem to have a link dependency against any DPDK library that might > contain such a symbol, either: > > $ ldd librte_pmd_virtio.so > linux-vdso.so.1 => (0x00007fffd61fc000) > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa2d971f000) > /lib64/ld-linux-x86-64.so.2 (0x00007fa2d9d00000) > librte_pmd_virtio.so does depend on DPDK, but ldd won't show it because it was not build against DPDK libs which it makes sense if you are building static lib DPDK. Thanks, Sergio > -----Original Message----- > From: Matthew Hall [mailto:mhall at mhcomputing.net] > Sent: Tuesday, October 14, 2014 9:35 AM > To: Gonzalez Monroy, Sergio; dev at dpdk.org > Subject: RE: [dpdk-dev] virtio UIO / PMD issues in default Ubuntu Cloud > Images > > Yes, I suspected some of your patches were related to this besides just the > COMBINE_LIBS options. However none of these will fix the issue that the > virtio non-UIO PMD doesn't work right with a statically linked DPDK, so, > despite all your fixes I've still got problems getting it all to work right. > > Matthew. > -- > Sent from my mobile device. > > On October 14, 2014 1:22:56 AM PDT, "Gonzalez Monroy, Sergio" > <sergio.gonzalez.monroy at intel.com> wrote: > > > > > >> -----Original Message----- > >> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Matthew Hall > >> Sent: Tuesday, October 14, 2014 7:34 AM > >> To: dev at dpdk.org > >> Subject: Re: [dpdk-dev] virtio UIO / PMD issues in default Ubuntu > >Cloud > >> Images > >> > >> > >> > >> On Mon, Oct 13, 2014 at 11:03:53PM -0700, Matthew Hall wrote: > >> > Another weird issue... when I tried to compile a DPDK shared lib > >using > >> > clang I got this really, really weird error: > >> > > >> > /usr/bin/ld: test: hidden symbol `mknod' in > >> > /usr/lib/x86_64-linux-gnu/libc_nonshared.a(mknod.oS) is referenced > >by > >> > DSO > >> > /usr/bin/ld: final link failed: Bad value > >> > >> Note: this specific error seems to be a bug in the behavior of DPDK > >> compilation when the following two options are enabled > >simultaneously: > >> > >> CONFIG_RTE_BUILD_SHARED_LIB=y > >> CONFIG_RTE_BUILD_COMBINE_LIBS=y > >> > > > >Hi Matthew, > > > >The problem as you point out is that the combined library is not being > >linked properly, in this case we are not linking against libc when > >building the shared library. > >One way of fixing this issue is to use CC instead of LD to do the > >linking. > > > >I have submitted a patch that updates the lib building process which > >main purpose was to fix this issue but it seems that the removing of > >CONFIG_RTE_BUILD_COMBINE_LIBS took over its real purpose. > >Another fix that the patch fixes is linking against other external > >required libs (ie. libm, librt, etc) when needed, so they would show on > >ldd if they are required. > > > >Please have a look at > >http://dpdk.org/ml/archives/dev/2014-October/006453.html. > >I would expect many of your issues to be fixed with that patch and > >would really appreciate any feedback on it. > > > >Thanks, > >Sergio > > > > > >> I think this is a pretty serious problem for anybody that's packaging > >or > >> distributing a complete DPDK because compiling both the static and > >dynamic > >> DPDK's at the same time as one another is going to fail with this > >weird error. > >> > >> Matthew.