[dpdk-dev,v2] mk: fix eal shared library dependencies -lrt
Commit Message
For GLIBC < 2.17 it is necessery to add -lrt for linker
from glibc > 2.17 The `clock_*' suite of functions (declared in <time.h>) is now
available directly in the main C library. This affect Ubuntu 12.04 in i686
and other older Linux Distros).
Fixes: 4758404a3084 ("mk: fix eal shared library dependencies")
Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
---
app/test/Makefile | 1 +
examples/ptpclient/Makefile | 1 +
lib/librte_eal/linuxapp/eal/Makefile | 1 +
3 files changed, 3 insertions(+)
Comments
On 03/22/2016 11:58 AM, Daniel Mrzyglod wrote:
> For GLIBC < 2.17 it is necessery to add -lrt for linker
> from glibc > 2.17 The `clock_*' suite of functions (declared in <time.h>) is now
> available directly in the main C library. This affect Ubuntu 12.04 in i686
> and other older Linux Distros).
>
> Fixes: 4758404a3084 ("mk: fix eal shared library dependencies")
>
> Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
> ---
> app/test/Makefile | 1 +
> examples/ptpclient/Makefile | 1 +
> lib/librte_eal/linuxapp/eal/Makefile | 1 +
> 3 files changed, 3 insertions(+)
>
> diff --git a/app/test/Makefile b/app/test/Makefile
> index 00e4df2..707930f 100644
> --- a/app/test/Makefile
> +++ b/app/test/Makefile
> @@ -114,6 +114,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_string.c
> SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_lib.c
>
> ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
> +LDFLAGS += -lrt
> SRCS-y += test_red.c
> SRCS-y += test_sched.c
> endif
> diff --git a/examples/ptpclient/Makefile b/examples/ptpclient/Makefile
> index b77cf71..082c690 100644
> --- a/examples/ptpclient/Makefile
> +++ b/examples/ptpclient/Makefile
> @@ -46,6 +46,7 @@ SRCS-y := ptpclient.c
>
> CFLAGS += -O3
> CFLAGS += $(WERROR_FLAGS)
> +LDFLAGS += -lrt
These two should be LDLIBS instead. LDFLAGS is for passing in other
arguments to the linker, such as path, LDLIBS exists solely for passing
in the actual libraries.
- Panu -
@@ -114,6 +114,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_string.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_lib.c
ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
+LDFLAGS += -lrt
SRCS-y += test_red.c
SRCS-y += test_sched.c
endif
@@ -46,6 +46,7 @@ SRCS-y := ptpclient.c
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
+LDFLAGS += -lrt
# workaround for a gcc bug with noreturn attribute
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
@@ -52,6 +52,7 @@ CFLAGS += $(WERROR_FLAGS) -O3
LDLIBS += -ldl
LDLIBS += -lpthread
LDLIBS += -lgcc_s
+LDLIBS += -lrt
# specific to linuxapp exec-env
SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) := eal.c