[dpdk-dev] mk: fix link with glibc < 2.17
Commit Message
There is a dependency on librt with old glibc.
The -lrt option was added everywhere it is needed but was also
added in some applications makefiles as the first link option.
The problem is this option is really useful only if added after
the objects or libraries using it (except if using --whole-archive).
And the -lrt options put after were removed to avoid duplicates.
It was resulting in errors linking test application:
eal_timer.c:(.text+0x128): undefined reference to `clock_gettime'
eal_timer.c:(.text+0x166): undefined reference to `clock_gettime'
eal_alarm.c:(.text+0xda): undefined reference to `clock_gettime'
eal_alarm.c:(.text+0x211): undefined reference to `clock_gettime'
It is fixed by removing superflous -lrt in app makefiles.
Fixes: 281948b4753e ("mk: fix missing librt dependencies")
Fixes: 2f6414f4baf1 ("mk: fix static link with glibc < 2.17")
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
app/test/Makefile | 1 -
examples/ptpclient/Makefile | 1 -
2 files changed, 2 deletions(-)
Comments
2016-07-25 12:57, Thomas Monjalon:
> There is a dependency on librt with old glibc.
> The -lrt option was added everywhere it is needed but was also
> added in some applications makefiles as the first link option.
> The problem is this option is really useful only if added after
> the objects or libraries using it (except if using --whole-archive).
> And the -lrt options put after were removed to avoid duplicates.
>
> It was resulting in errors linking test application:
> eal_timer.c:(.text+0x128): undefined reference to `clock_gettime'
> eal_timer.c:(.text+0x166): undefined reference to `clock_gettime'
> eal_alarm.c:(.text+0xda): undefined reference to `clock_gettime'
> eal_alarm.c:(.text+0x211): undefined reference to `clock_gettime'
>
> It is fixed by removing superflous -lrt in app makefiles.
>
> Fixes: 281948b4753e ("mk: fix missing librt dependencies")
> Fixes: 2f6414f4baf1 ("mk: fix static link with glibc < 2.17")
>
> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Reported-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com>
Applied, thanks
@@ -158,7 +158,6 @@ SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_string.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_lib.c
ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
-LDLIBS += -lrt
SRCS-y += test_red.c
SRCS-y += test_sched.c
endif
@@ -46,7 +46,6 @@ SRCS-y := ptpclient.c
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrt
# workaround for a gcc bug with noreturn attribute
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603