* [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).