[dpdk-dev,pcap] pcap: fix build of all-in-one shared library
Commit Message
Build of some of the test binaries fails when the following flags are enabled:
CONFIG_RTE_LIBRTE_PMD_PCAP=y
CONFIG_RTE_BUILD_SHARED_LIB=y
CONFIG_RTE_BUILD_COMBINE_LIBS=y
The binarieas are missing symbols from libpcap. This
patch adds the missing '-lpcap' linker flag into the respective Makefiles.
Signed-off-by: stepan <stepan.sojka@adaptivemobile.com>
---
app/cmdline_test/Makefile | 4 ++++
app/dump_cfg/Makefile | 4 ++++
app/test-acl/Makefile | 4 ++++
app/test/Makefile | 4 ++++
4 files changed, 16 insertions(+)
Comments
On Tue, Oct 07, 2014 at 12:14:04AM +0100, stepan wrote:
> Build of some of the test binaries fails when the following flags are enabled:
>
> CONFIG_RTE_LIBRTE_PMD_PCAP=y
> CONFIG_RTE_BUILD_SHARED_LIB=y
> CONFIG_RTE_BUILD_COMBINE_LIBS=y
>
> The binarieas are missing symbols from libpcap. This
> patch adds the missing '-lpcap' linker flag into the respective Makefiles.
>
> Signed-off-by: stepan <stepan.sojka@adaptivemobile.com>
>
> ---
> app/cmdline_test/Makefile | 4 ++++
> app/dump_cfg/Makefile | 4 ++++
> app/test-acl/Makefile | 4 ++++
> app/test/Makefile | 4 ++++
> 4 files changed, 16 insertions(+)
>
> diff --git a/app/cmdline_test/Makefile b/app/cmdline_test/Makefile
> index e9eafd2..ce44fd5 100644
> --- a/app/cmdline_test/Makefile
> +++ b/app/cmdline_test/Makefile
> @@ -47,6 +47,10 @@ SRCS-y += commands.c
> CFLAGS += -O3
> CFLAGS += $(WERROR_FLAGS)
>
> +ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
> +LDFLAGS += -lpcap
> +endif
> +
> include $(RTE_SDK)/mk/rte.app.mk
>
> endif
> diff --git a/app/dump_cfg/Makefile b/app/dump_cfg/Makefile
> index 3257127..513ce59 100644
> --- a/app/dump_cfg/Makefile
> +++ b/app/dump_cfg/Makefile
> @@ -35,6 +35,10 @@ APP = dump_cfg
>
> CFLAGS += $(WERROR_FLAGS)
>
> +ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
> +LDFLAGS += -lpcap
> +endif
> +
> # all source are stored in SRCS-y
>
> SRCS-y := main.c
> diff --git a/app/test-acl/Makefile b/app/test-acl/Makefile
> index 43dfdcb..ea063fd 100644
> --- a/app/test-acl/Makefile
> +++ b/app/test-acl/Makefile
> @@ -37,6 +37,10 @@ APP = testacl
>
> CFLAGS += $(WERROR_FLAGS)
>
> +ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
> +LDFLAGS += -lpcap
> +endif
> +
> # all source are stored in SRCS-y
> SRCS-y := main.c
>
> diff --git a/app/test/Makefile b/app/test/Makefile
> index 6af6d76..e456140 100644
> --- a/app/test/Makefile
> +++ b/app/test/Makefile
> @@ -145,6 +145,10 @@ CFLAGS_test_kni.o += -Wno-deprecated-declarations
> endif
> CFLAGS += -D_GNU_SOURCE
>
> +ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
> +LDFLAGS += -lpcap
> +endif
> +
> # this application needs libraries first
> DEPDIRS-y += lib
>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
2014-12-08 09:49, Neil Horman:
> On Tue, Oct 07, 2014 at 12:14:04AM +0100, stepan wrote:
> > Build of some of the test binaries fails when the following flags are enabled:
> >
> > CONFIG_RTE_LIBRTE_PMD_PCAP=y
> > CONFIG_RTE_BUILD_SHARED_LIB=y
> > CONFIG_RTE_BUILD_COMBINE_LIBS=y
> >
> > The binarieas are missing symbols from libpcap. This
> > patch adds the missing '-lpcap' linker flag into the respective Makefiles.
> >
> > Signed-off-by: stepan <stepan.sojka@adaptivemobile.com>
> >
> > ---
> > app/cmdline_test/Makefile | 4 ++++
> > app/dump_cfg/Makefile | 4 ++++
> > app/test-acl/Makefile | 4 ++++
> > app/test/Makefile | 4 ++++
> > 4 files changed, 16 insertions(+)
> >
> > diff --git a/app/cmdline_test/Makefile b/app/cmdline_test/Makefile
> > index e9eafd2..ce44fd5 100644
> > --- a/app/cmdline_test/Makefile
> > +++ b/app/cmdline_test/Makefile
> > @@ -47,6 +47,10 @@ SRCS-y += commands.c
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
> > +LDFLAGS += -lpcap
> > +endif
> > +
> > include $(RTE_SDK)/mk/rte.app.mk
> >
> > endif
> > diff --git a/app/dump_cfg/Makefile b/app/dump_cfg/Makefile
> > index 3257127..513ce59 100644
> > --- a/app/dump_cfg/Makefile
> > +++ b/app/dump_cfg/Makefile
> > @@ -35,6 +35,10 @@ APP = dump_cfg
> >
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
> > +LDFLAGS += -lpcap
> > +endif
> > +
> > # all source are stored in SRCS-y
> >
> > SRCS-y := main.c
> > diff --git a/app/test-acl/Makefile b/app/test-acl/Makefile
> > index 43dfdcb..ea063fd 100644
> > --- a/app/test-acl/Makefile
> > +++ b/app/test-acl/Makefile
> > @@ -37,6 +37,10 @@ APP = testacl
> >
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
> > +LDFLAGS += -lpcap
> > +endif
> > +
> > # all source are stored in SRCS-y
> > SRCS-y := main.c
> >
> > diff --git a/app/test/Makefile b/app/test/Makefile
> > index 6af6d76..e456140 100644
> > --- a/app/test/Makefile
> > +++ b/app/test/Makefile
> > @@ -145,6 +145,10 @@ CFLAGS_test_kni.o += -Wno-deprecated-declarations
> > endif
> > CFLAGS += -D_GNU_SOURCE
> >
> > +ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
> > +LDFLAGS += -lpcap
> > +endif
> > +
> > # this application needs libraries first
> > DEPDIRS-y += lib
> >
> Acked-by: Neil Horman <nhorman@tuxdriver.com>
NAK, it doesn't seem to be the proper fix.
LDFLAGS should be automatically filled in rte.vars.mk.
Will send another proposal.
@@ -47,6 +47,10 @@ SRCS-y += commands.c
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
+LDFLAGS += -lpcap
+endif
+
include $(RTE_SDK)/mk/rte.app.mk
endif
@@ -35,6 +35,10 @@ APP = dump_cfg
CFLAGS += $(WERROR_FLAGS)
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
+LDFLAGS += -lpcap
+endif
+
# all source are stored in SRCS-y
SRCS-y := main.c
@@ -37,6 +37,10 @@ APP = testacl
CFLAGS += $(WERROR_FLAGS)
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
+LDFLAGS += -lpcap
+endif
+
# all source are stored in SRCS-y
SRCS-y := main.c
@@ -145,6 +145,10 @@ CFLAGS_test_kni.o += -Wno-deprecated-declarations
endif
CFLAGS += -D_GNU_SOURCE
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
+LDFLAGS += -lpcap
+endif
+
# this application needs libraries first
DEPDIRS-y += lib