[dpdk-dev] virtio UIO / PMD issues in default Ubuntu Cloud Images

Gonzalez Monroy, Sergio sergio.gonzalez.monroy at intel.com
Tue Oct 14 10:22:56 CEST 2014



> -----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.


More information about the dev mailing list