[dpdk-dev] [PATCH] mk: fix link to combined library

Thomas Monjalon thomas.monjalon at 6wind.com
Wed Dec 17 11:43:51 CET 2014


2014-12-17 10:38, Bruce Richardson:
> On Wed, Dec 17, 2014 at 12:45:32AM +0100, Thomas Monjalon wrote:
> > 2014-12-11 02:54, Hiroshi Shimamoto:
> > > From: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
> > > 
> > > The application should be linked to the single combined library in the
> > > condition that both of CONFIG_RTE_BUILD_COMBINE_LIB and
> > > CONFIG_RTE_BUILD_SHARED_LIB are enabled.
> > > 
> > > The current makefile generates an application that links to each library.
> > > This patch fixes to link the single library.
> > > 
> > > Before
> > > $ ldd x86_64-ivshmem-linuxapp-gcc/app/test
> > > 	linux-vdso.so.1 =>  (0x00007fff232a1000)
> > > 	librte_distributor.so => not found
> > > 	librte_kni.so => not found
> > > 	librte_ivshmem.so => not found
> > > 	librte_pipeline.so => not found
> > > 	librte_table.so => not found
> > > 	librte_port.so => not found
> > > 	librte_timer.so => not found
> > > 	librte_hash.so => not found
> > > 	librte_lpm.so => not found
> > > 	librte_power.so => not found
> > > 	librte_acl.so => not found
> > > 	librte_meter.so => not found
> > > 	librte_sched.so => not found
> > > 	libm.so.6 => /lib64/libm.so.6 (0x00007fc638020000)
> > > 	librt.so.1 => /lib64/librt.so.1 (0x00007fc637e18000)
> > > 	librte_kvargs.so => not found
> > > 	librte_mbuf.so => not found
> > > 	librte_ip_frag.so => not found
> > > 	libethdev.so => not found
> > > 	librte_malloc.so => not found
> > > 	librte_mempool.so => not found
> > > 	librte_ring.so => not found
> > > 	librte_eal.so => not found
> > > 	librte_cmdline.so => not found
> > > 	librte_cfgfile.so => not found
> > > 	librte_pmd_bond.so => not found
> > > 	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc637bfe000)
> > > 	libdl.so.2 => /lib64/libdl.so.2 (0x00007fc6379fa000)
> > > 	libintel_dpdk.so => not found
> > > 	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc6377dd000)
> > > 	libc.so.6 => /lib64/libc.so.6 (0x00007fc63741c000)
> > > 	/lib64/ld-linux-x86-64.so.2 (0x00007fc638330000)
> > > 
> > > After
> > > $ ldd x86_64-ivshmem-linuxapp-gcc/app/test
> > > 	linux-vdso.so.1 =>  (0x00007fffb79fe000)
> > > 	librt.so.1 => /lib64/librt.so.1 (0x00007f0d8a971000)
> > > 	libm.so.6 => /lib64/libm.so.6 (0x00007f0d8a66f000)
> > > 	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f0d8a458000)
> > > 	libdl.so.2 => /lib64/libdl.so.2 (0x00007f0d8a254000)
> > > 	libintel_dpdk.so => not found
> > > 	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0d8a037000)
> > > 	libc.so.6 => /lib64/libc.so.6 (0x00007f0d89c76000)
> > > 	/lib64/ld-linux-x86-64.so.2 (0x00007f0d8ab82000)
> > > 
> > > Signed-off-by: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
> > > Reviewed-by: Hayato Momma <h-momma at ce.jp.nec.com>
> > 
> > It is what I suggested to Sergio:
> > 	http://dpdk.org/ml/archives/dev/2014-December/009116.html
> > 
> > Acked-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
> > 
> > Applied
> > 
> > Thanks
> 
> None of the example apps are compiling for me today, and git bisect indicates that
> this patch is the culprit. I'm investigating, but if flagging it here in case 
> someone else finds a fix faster than I do.

Yes, Marvin already sent a patch:
	http://dpdk.org/dev/patchwork/patch/2049/

> The error is due to the libraries being missing on the link command, with the
> out-of-the-box configuration i.e. individual static libs.

Sorry, I forgot to test this basic case after applying the patch.

-- 
Thomas


More information about the dev mailing list