* [dpdk-dev] [PATCH] mk: fix link to combined library
@ 2014-12-11 2:54 Hiroshi Shimamoto
2014-12-16 23:45 ` Thomas Monjalon
0 siblings, 1 reply; 7+ messages in thread
From: Hiroshi Shimamoto @ 2014-12-11 2:54 UTC (permalink / raw)
To: dev; +Cc: Hayato Momma
From: Hiroshi Shimamoto <h-shimamoto@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@ct.jp.nec.com>
Reviewed-by: Hayato Momma <h-momma@ce.jp.nec.com>
---
mk/rte.app.mk | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 84ec4df..3782eab 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -61,6 +61,8 @@ ifeq ($(NO_AUTOLIBS),)
LDLIBS += --whole-archive
+ifeq ($(RTE_BUILD_COMBINE_LIBS),n)
+
ifeq ($(CONFIG_RTE_LIBRTE_DISTRIBUTOR),y)
LDLIBS += -lrte_distributor
endif
@@ -119,8 +121,12 @@ LDLIBS += -lm
LDLIBS += -lrt
endif
+endif # ! RTE_BUILD_COMBINE_LIBS
+
LDLIBS += --start-group
+ifeq ($(RTE_BUILD_COMBINE_LIBS),n)
+
ifeq ($(CONFIG_RTE_LIBRTE_KVARGS),y)
LDLIBS += -lrte_kvargs
endif
@@ -216,6 +222,8 @@ endif
endif # plugins
+endif # ! RTE_BUILD_COMBINE_LIBS
+
LDLIBS += $(EXECENV_LDLIBS)
LDLIBS += --end-group
--
1.8.3.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix link to combined library
2014-12-11 2:54 [dpdk-dev] [PATCH] mk: fix link to combined library Hiroshi Shimamoto
@ 2014-12-16 23:45 ` Thomas Monjalon
2014-12-17 10:38 ` Bruce Richardson
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Monjalon @ 2014-12-16 23:45 UTC (permalink / raw)
To: Hiroshi Shimamoto; +Cc: dev, Hayato Momma
2014-12-11 02:54, Hiroshi Shimamoto:
> From: Hiroshi Shimamoto <h-shimamoto@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@ct.jp.nec.com>
> Reviewed-by: Hayato Momma <h-momma@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@6wind.com>
Applied
Thanks
--
Thomas
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix link to combined library
2014-12-16 23:45 ` Thomas Monjalon
@ 2014-12-17 10:38 ` Bruce Richardson
2014-12-17 10:43 ` Bruce Richardson
2014-12-17 10:43 ` Thomas Monjalon
0 siblings, 2 replies; 7+ messages in thread
From: Bruce Richardson @ 2014-12-17 10:38 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, Hayato Momma
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@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@ct.jp.nec.com>
> > Reviewed-by: Hayato Momma <h-momma@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@6wind.com>
>
> Applied
>
> Thanks
> --
> Thomas
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.
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.
/Bruce
make: Entering directory `/home/bruce/dpdk.org/examples/helloworld'
mkdir -p /home/bruce/dpdk.org/examples/helloworld/build
make -C /home/bruce/dpdk.org/examples/helloworld/build -f /home/bruce/dpdk.org/examples/helloworld/Makefile \
S=/home/bruce/dpdk.org/examples/helloworld O=/home/bruce/dpdk.org/examples/helloworld/build SRCDIR=/home/bruce/dpdk.org/examples/helloworld
gcc -m64 -pthread -march=native -DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPUFLAG_SSSE3 -DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2 -DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_PCLMULQDQ -DRTE_MACHINE_CPUFLAG_AVX -DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX -I/home/bruce/dpdk.org/examples/helloworld/build/include -I/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include -include /home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_config.h -O3 -W -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wl,-Map=helloworld.map,--cref -o helloworld main.o -Wl,--no-as-needed -Wl,-export-dynamic -L/home/bruce/dpdk.org/examples/helloworld/build/lib -L/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/lib -L/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/lib -Wl,--whole-archive -Wl,--start-group -Wl,-lrt -Wl,-lm -Wl,-ldl -Wl,--end-group -Wl,--no-whole-archive
main.o: In function `rte_lcore_id':
/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:85: undefined reference to `per_lcore__lcore_id'
main.o: In function `main':
/home/bruce/dpdk.org/examples/helloworld/main.c:64: undefined reference to `rte_eal_init'
main.o: In function `rte_lcore_is_enabled':
/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:170: undefined reference to `rte_eal_get_configuration'
main.o: In function `rte_get_master_lcore':
/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:97: undefined reference to `rte_eal_get_configuration'
main.o: In function `rte_lcore_is_enabled':
/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:170: undefined reference to `rte_eal_get_configuration'
main.o: In function `rte_get_master_lcore':
/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:97: undefined reference to `rte_eal_get_configuration'
main.o: In function `main':
/home/bruce/dpdk.org/examples/helloworld/main.c:70: undefined reference to `rte_eal_remote_launch'
main.o: In function `rte_lcore_id':
/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:85: undefined reference to `per_lcore__lcore_id'
main.o: In function `main':
/home/bruce/dpdk.org/examples/helloworld/main.c:76: undefined reference to `rte_eal_mp_wait_lcore'
/home/bruce/dpdk.org/examples/helloworld/main.c:66: undefined reference to `__rte_panic'
collect2: error: ld returned 1 exit status
make[1]: *** [helloworld] Error 1
make: *** [all] Error 2
make: Leaving directory `/home/bruce/dpdk.org/examples/helloworld'
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix link to combined library
2014-12-17 10:38 ` Bruce Richardson
@ 2014-12-17 10:43 ` Bruce Richardson
2014-12-17 10:43 ` Thomas Monjalon
1 sibling, 0 replies; 7+ messages in thread
From: Bruce Richardson @ 2014-12-17 10:43 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, Hayato Momma
On Wed, Dec 17, 2014 at 10:38:16AM +0000, Bruce Richardson wrote:
> 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@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@ct.jp.nec.com>
> > > Reviewed-by: Hayato Momma <h-momma@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@6wind.com>
> >
> > Applied
> >
> > Thanks
> > --
> > Thomas
>
> 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.
>
> 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.
>
> /Bruce
>
> make: Entering directory `/home/bruce/dpdk.org/examples/helloworld'
> mkdir -p /home/bruce/dpdk.org/examples/helloworld/build
> make -C /home/bruce/dpdk.org/examples/helloworld/build -f /home/bruce/dpdk.org/examples/helloworld/Makefile \
> S=/home/bruce/dpdk.org/examples/helloworld O=/home/bruce/dpdk.org/examples/helloworld/build SRCDIR=/home/bruce/dpdk.org/examples/helloworld
> gcc -m64 -pthread -march=native -DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPUFLAG_SSSE3 -DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2 -DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_PCLMULQDQ -DRTE_MACHINE_CPUFLAG_AVX -DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX -I/home/bruce/dpdk.org/examples/helloworld/build/include -I/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include -include /home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_config.h -O3 -W -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wl,-Map=helloworld.map,--cref -o helloworld main.o -Wl,--no-as-needed -Wl,-export-dynamic -L/home/bruce/dpdk.org/examples/helloworld/build/lib -L/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/lib -L/home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/lib -Wl,--whole-archive -Wl,--start-group -Wl,-lrt -Wl,-lm -Wl,-ldl -Wl,--end-group -Wl,--no-whole-archive
> main.o: In function `rte_lcore_id':
> /home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:85: undefined reference to `per_lcore__lcore_id'
> main.o: In function `main':
> /home/bruce/dpdk.org/examples/helloworld/main.c:64: undefined reference to `rte_eal_init'
> main.o: In function `rte_lcore_is_enabled':
> /home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:170: undefined reference to `rte_eal_get_configuration'
> main.o: In function `rte_get_master_lcore':
> /home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:97: undefined reference to `rte_eal_get_configuration'
> main.o: In function `rte_lcore_is_enabled':
> /home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:170: undefined reference to `rte_eal_get_configuration'
> main.o: In function `rte_get_master_lcore':
> /home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:97: undefined reference to `rte_eal_get_configuration'
> main.o: In function `main':
> /home/bruce/dpdk.org/examples/helloworld/main.c:70: undefined reference to `rte_eal_remote_launch'
> main.o: In function `rte_lcore_id':
> /home/bruce/dpdk.org/x86_64-native-linuxapp-gcc/include/rte_lcore.h:85: undefined reference to `per_lcore__lcore_id'
> main.o: In function `main':
> /home/bruce/dpdk.org/examples/helloworld/main.c:76: undefined reference to `rte_eal_mp_wait_lcore'
> /home/bruce/dpdk.org/examples/helloworld/main.c:66: undefined reference to `__rte_panic'
> collect2: error: ld returned 1 exit status
> make[1]: *** [helloworld] Error 1
> make: *** [all] Error 2
> make: Leaving directory `/home/bruce/dpdk.org/examples/helloworld'
>
Root cause appears to be use of "RTE_BUILD_COMBINE_LIBS" instead of "CONFIG_RTE_BUILD_COMBINE_LIBS"
Patch to follow.
Regards,
/Bruce
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix link to combined library
2014-12-17 10:38 ` Bruce Richardson
2014-12-17 10:43 ` Bruce Richardson
@ 2014-12-17 10:43 ` Thomas Monjalon
2014-12-17 10:46 ` Bruce Richardson
1 sibling, 1 reply; 7+ messages in thread
From: Thomas Monjalon @ 2014-12-17 10:43 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev, Hayato Momma
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@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@ct.jp.nec.com>
> > > Reviewed-by: Hayato Momma <h-momma@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@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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix link to combined library
2014-12-17 10:43 ` Thomas Monjalon
@ 2014-12-17 10:46 ` Bruce Richardson
2014-12-17 11:07 ` Hiroshi Shimamoto
0 siblings, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2014-12-17 10:46 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, Hayato Momma
On Wed, Dec 17, 2014 at 11:43:51AM +0100, Thomas Monjalon wrote:
> 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@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@ct.jp.nec.com>
> > > > Reviewed-by: Hayato Momma <h-momma@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@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:
Yes, so I see, Sergio just pointed it out to me here too! I'll ack that one
for you.
/Bruce
> 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix link to combined library
2014-12-17 10:46 ` Bruce Richardson
@ 2014-12-17 11:07 ` Hiroshi Shimamoto
0 siblings, 0 replies; 7+ messages in thread
From: Hiroshi Shimamoto @ 2014-12-17 11:07 UTC (permalink / raw)
To: Bruce Richardson, Thomas Monjalon; +Cc: dev, Hayato Momma
> Subject: Re: [dpdk-dev] [PATCH] mk: fix link to combined library
>
> On Wed, Dec 17, 2014 at 11:43:51AM +0100, Thomas Monjalon wrote:
> > 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@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@ct.jp.nec.com>
> > > > > Reviewed-by: Hayato Momma <h-momma@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@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:
>
> Yes, so I see, Sergio just pointed it out to me here too! I'll ack that one
> for you.
>
> /Bruce
>
> > 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.
I'm sorry too, I never checked examples and various configuration with this patch.
thanks,
Hiroshi
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-12-17 11:07 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-11 2:54 [dpdk-dev] [PATCH] mk: fix link to combined library Hiroshi Shimamoto
2014-12-16 23:45 ` Thomas Monjalon
2014-12-17 10:38 ` Bruce Richardson
2014-12-17 10:43 ` Bruce Richardson
2014-12-17 10:43 ` Thomas Monjalon
2014-12-17 10:46 ` Bruce Richardson
2014-12-17 11:07 ` Hiroshi Shimamoto
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).