Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.2
dpdk
0003-mk-fix-external-shared-library-dependencie...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch of Package dpdk
commit f85ab16a916be178a4cb61575f414c43fc98313d Author: Panu Matilainen <pmatilai@redhat.com> Date: Tue Dec 8 13:42:26 2015 +0200 mk: fix external shared library dependencies of libraries Similar to commit 5f9115e58cc6f304ff4ade694cf5823d32887d1a etc, but for libraries. Clean up librte_vhost CFLAGS/LDFLAGS/LDLIBS confusion while at it. Requiring applications to know about library internal details like dependencies to external helper libraries is a limitation of static linkage, shared libraries should always know their own dependencies for sane operation. Linking with the combined library (whether shared or not) still requires knowing the internal dependencies, and intra-dpdk dependencies are also not currently recorded. Signed-off-by: Panu Matilainen <pmatilai@redhat.com> diff --git a/app/test/Makefile b/app/test/Makefile index ec33e1a..abb0545 100644 --- a/app/test/Makefile +++ b/app/test/Makefile @@ -182,6 +182,8 @@ endif endif endif +LDLIBS += -lm + include $(RTE_SDK)/mk/rte.app.mk endif diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile index 65b293f..b7b6016 100644 --- a/lib/librte_eal/bsdapp/eal/Makefile +++ b/lib/librte_eal/bsdapp/eal/Makefile @@ -42,6 +42,9 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_ring CFLAGS += -I$(RTE_SDK)/lib/librte_mempool CFLAGS += $(WERROR_FLAGS) -O3 +LDLIBS += -lpthread +LDLIBS += -ldl + EXPORT_MAP := rte_eal_version.map LIBABIVER := 2 diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile index 26eced5..0efb9e4 100644 --- a/lib/librte_eal/linuxapp/eal/Makefile +++ b/lib/librte_eal/linuxapp/eal/Makefile @@ -47,6 +47,9 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_mempool CFLAGS += -I$(RTE_SDK)/lib/librte_ivshmem CFLAGS += $(WERROR_FLAGS) -O3 +LDLIBS += -lpthread +LDLIBS += -ldl + # specific to linuxapp exec-env SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) := eal.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_hugepage_info.c diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile index b1cb285..4d631f6 100644 --- a/lib/librte_sched/Makefile +++ b/lib/librte_sched/Makefile @@ -41,6 +41,9 @@ CFLAGS += $(WERROR_FLAGS) CFLAGS_rte_red.o := -D_GNU_SOURCE +LDLIBS += -lm +LDLIBS += -lrt + EXPORT_MAP := rte_sched_version.map LIBABIVER := 1 diff --git a/lib/librte_vhost/Makefile b/lib/librte_vhost/Makefile index 6681f22..4aecc69 100644 --- a/lib/librte_vhost/Makefile +++ b/lib/librte_vhost/Makefile @@ -42,12 +42,12 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -D_FILE_OFFSET_BITS=64 ifeq ($(CONFIG_RTE_LIBRTE_VHOST_USER),y) CFLAGS += -I vhost_user else -CFLAGS += -I vhost_cuse -lfuse -LDFLAGS += -lfuse +CFLAGS += -I vhost_cuse +LDLIBS += -lfuse endif ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y) -LDFLAGS += -lnuma +LDLIBS += -lnuma endif # all source are stored in SRCS-y diff --git a/mk/exec-env/linuxapp/rte.vars.mk b/mk/exec-env/linuxapp/rte.vars.mk index 5fd7d85..d51bd17 100644 --- a/mk/exec-env/linuxapp/rte.vars.mk +++ b/mk/exec-env/linuxapp/rte.vars.mk @@ -48,7 +48,7 @@ endif # Workaround lack of DT_NEEDED entry EXECENV_LDFLAGS = --no-as-needed -EXECENV_LDLIBS = -lrt -lm +EXECENV_LDLIBS = EXECENV_ASFLAGS = ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 8ecab41..4ecaa6c 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -81,23 +81,11 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_LPM) += -lrte_lpm _LDLIBS-$(CONFIG_RTE_LIBRTE_POWER) += -lrte_power _LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += -lrte_acl _LDLIBS-$(CONFIG_RTE_LIBRTE_METER) += -lrte_meter - _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrte_sched -_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lm -_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrt - _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lrte_vhost endif # ! CONFIG_RTE_BUILD_COMBINE_LIBS -ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y) -_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lnuma -endif - -ifeq ($(CONFIG_RTE_LIBRTE_VHOST_USER),n) -_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lfuse -endif - # The static libraries do not know their dependencies. # The combined library fails also to store this information. # So linking with static or combined library requires explicit dependencies. @@ -111,6 +99,14 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += -lxenstore _LDLIBS-$(CONFIG_RTE_LIBRTE_MPIPE_PMD) += -lgxio # QAT PMD has a dependency on libcrypto (from openssl) for calculating HMAC precomputes _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += -lcrypto +_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lm +_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrt +ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y) +_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lnuma +endif +ifeq ($(CONFIG_RTE_LIBRTE_VHOST_USER),n) +_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lfuse +endif endif # CONFIG_RTE_BUILD_COMBINE_LIBS or not CONFIG_RTE_BUILD_SHARED_LIBS _LDLIBS-y += --start-group
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor