https://dpdk.org/tracker/show_bug.cgi?id=61
Bug ID: 61 Summary: build fails when shared libs enabled and optimization turned off Product: DPDK Version: 18.05 Hardware: All OS: All Status: CONFIRMED Severity: normal Priority: Normal Component: core Assignee: dev@dpdk.org Reporter: erik.g.carri...@intel.com Target Milestone: --- Overview: Build fails with CONFIG_RTE_BUILD_SHARED_LIB=y and EXTRA_CFLAGS="-O0" Steps to Reproduce: 1. Generate config file with: "$ make config T=x86_64-native-linuxapp-gcc O=x86_64-native-linuxapp-gcc" 2. Set CONFIG_RTE_BUILD_SHARED_LIB=y in .config 3. Run build with: "$ make V=1 EXTRA_CFLAGS='-O0'" Actual Results: Build fails with following error: <...snipped...> == Build drivers/bus/fslmc <...snipped...> gcc -Wp,-MD,./.fslmc_vfio.o.d.tmp -m64 -pthread -fPIC -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_SS E4_2 -DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_PCLMULQDQ -DRTE_MACHINE_CPUFLAG_AVX -DRTE_MACHINE_CPUFLAG_RDRAND -DRTE_MACHINE_CPUFLAG_FSGSBASE -DRTE_MACHINE_CPUFLAG_F16C -DRTE_MACHINE_CPUFLAG_AVX2 -I/workspace/sw/egcarril/projects/upstream/dpdk/x86_64-native-linuxapp-gcc/include -include /workspace/sw/egcarril/projects/upstream/dpdk/x86_64-native-linuxapp-gcc/include/rte_config.h -DALLOW_EXPERIMENTAL_API -O3 -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated -Werror -I/workspace/sw/egcarril/projects/upstream/dpdk/drivers/bus/fslmc -I/workspace/sw/egcarril/projects/upstream/dpdk/drivers/bus/fslmc/mc -I/workspace/sw/egcarril/projects/upstream/dpdk/drivers/bus/fslmc/qbman/include -I/workspace/sw/egcarril/projects/upstream/dpdk/lib/librte_eal/common -O0 -o fslmc_vfio.o -c /workspace/sw/egcarril/projects/upstream/dpdk/drivers/bus/fslmc/fslmc_vfio.c gcc -Wp,-MD,./.fslmc_bus.o.d.tmp -m64 -pthread -fPIC -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_SSE 4_2 -DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_PCLMULQDQ -DRTE_MACHINE_CPUFLAG_AVX -DRTE_MACHINE_CPUFLAG_RDRAND -DRTE_MACHINE_CPUFLAG_FSGSBASE -DRTE_MACHINE_CPUFLAG_F16C -DRTE_MACHINE_CPUFLAG_AVX2 -I/workspace/sw/egcarril/pro jects/upstream/dpdk/x86_64-native-linuxapp-gcc/include -include /workspace/sw/egcarril/projects/upstream/dpdk/x86_64-native-linuxapp-gcc/include/rte_config.h -DALLOW_EXPERIMENTAL_API -O3 -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated -Werror -I/workspace/sw/egcarril/projects/upstream/dpdk/drivers/bus/fslmc -I/workspace/sw/egcarril/projects/upstream/dpdk/drivers/bus/fslmc/mc -I/workspace/sw/egcarril/projects/upstream/dpdk/drivers/bus/fslmc/qbman/include -I/workspace/sw/egcarril/projects/upstream/dpdk/lib/librte_eal/common -O0 -o fslmc_bus.o -c /workspace/sw/egcarril/projects/upstream/dpdk/drivers/bus/fslmc/fslmc_bus.c gcc -m64 -O0 -L/workspace/sw/egcarril/projects/upstream/dpdk/x86_64-native-linuxapp-gcc/lib -Wl,--version-script=/workspace/sw/egcarril/projects/upstream/dpdk/drivers/bus/fslmc/rte_bus_fslmc_version.map -shared qbman/qbman_portal. o qbman/qbman_debug.o mc/dpmng.o mc/dpbp.o mc/dpio.o mc/mc_sys.o mc/dpcon.o mc/dpci.o mc/dpdmai.o portal/dpaa2_hw_dpio.o portal/dpaa2_hw_dpbp.o portal/dpaa2_hw_dpci.o fslmc_vfio.o fslmc_bus.o -z defs -lrte_eal -lrte_mbuf -lrte_memp ool -lrte_ring -lrte_ethdev -Wl,-soname,librte_bus_fslmc.so.1.1 -o librte_bus_fslmc.so.1.1 portal/dpaa2_hw_dpio.o: In function `dpaa2_mem_ptov': dpaa2_hw_dpio.c:(.text+0xcc): undefined reference to `rte_dpaa2_memsegs' portal/dpaa2_hw_dpbp.o: In function `dpaa2_mem_ptov': dpaa2_hw_dpbp.c:(.text+0xa7): undefined reference to `rte_dpaa2_memsegs' portal/dpaa2_hw_dpci.o: In function `dpaa2_mem_ptov': dpaa2_hw_dpci.c:(.text+0xa7): undefined reference to `rte_dpaa2_memsegs' fslmc_vfio.o: In function `dpaa2_mem_ptov': fslmc_vfio.c:(.text+0xd9): undefined reference to `rte_dpaa2_memsegs' collect2: error: ld returned 1 exit status make[5]: *** [/workspace/sw/egcarril/projects/upstream/dpdk/mk/rte.lib.mk:100: librte_bus_fslmc.so.1.1] Error 1 make[4]: *** [/workspace/sw/egcarril/projects/upstream/dpdk/mk/rte.subdir.mk:37: fslmc] Error 2 make[3]: *** [/workspace/sw/egcarril/projects/upstream/dpdk/mk/rte.subdir.mk:37: bus] Error 2 make[2]: *** [/workspace/sw/egcarril/projects/upstream/dpdk/mk/rte.sdkbuild.mk:51: drivers] Error 2 make[1]: *** [/workspace/sw/egcarril/projects/upstream/dpdk/mk/rte.sdkroot.mk:101: all] Error 2 make: *** [Makefile:12: all] Error 2 Expected Results: Build should succeed. Build Date & Hardware: Build date: 2018-06-04 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS" $ gcc --version gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ uname -m x86_64 -- You are receiving this mail because: You are the assignee for the bug.