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