From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH] mk: fix link to combined library Date: Wed, 17 Dec 2014 11:43:51 +0100 Message-ID: <2481080.vLqlGC2Goh@xps13> References: <7F861DC0615E0C47A872E6F3C5FCDDBD05DD6DFE@BPXM14GP.gisp.nec.co.jp> <4299912.gJckj7WjkF@xps13> <20141217103815.GA9184@bricha3-MOBL3> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev-VfR2kkLFssw@public.gmane.org, Hayato Momma To: Bruce Richardson Return-path: In-Reply-To: <20141217103815.GA9184@bricha3-MOBL3> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" 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 > > > > > > 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 > > > Reviewed-by: Hayato Momma > > > > It is what I suggested to Sergio: > > http://dpdk.org/ml/archives/dev/2014-December/009116.html > > > > Acked-by: Thomas Monjalon > > > > 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