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.

Reply via email to