diff mbox series

[iproute2] testsuite: fix build failure

Message ID ae381380067a2db4079bd8880093d8fdb5d9f446.1666539148.git.aclaudi@redhat.com (mailing list archive)
State Accepted
Delegated to: Stephen Hemminger
Headers show
Series [iproute2] testsuite: fix build failure | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Andrea Claudi Oct. 23, 2022, 3:37 p.m. UTC
After commit 6c09257f1bf6 ("rtnetlink: add new function
rtnl_echo_talk()") "make check" results in:

$ make check

make -C testsuite
make -C iproute2 configure
make -C testsuite alltests
make -C tools
    CC       generate_nlmsg
/usr/bin/ld: /tmp/cc6YaGBM.o: in function `rtnl_echo_talk':
libnetlink.c:(.text+0x25bd): undefined reference to `new_json_obj'
/usr/bin/ld: libnetlink.c:(.text+0x25c7): undefined reference to `open_json_object'
/usr/bin/ld: libnetlink.c:(.text+0x25e3): undefined reference to `close_json_object'
/usr/bin/ld: libnetlink.c:(.text+0x25e8): undefined reference to `delete_json_obj'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:6: generate_nlmsg] Error 1
make[1]: *** [Makefile:40: generate_nlmsg] Error 2
make: *** [Makefile:130: check] Error 2

This is due to json function calls included in libutil and not in
libnetlink. Fix this adding libutil.a to the tools Makefile, and linking
against libcap as required by libutil itself.

Fixes: 6c09257f1bf6 ("rtnetlink: add new function rtnl_echo_talk()")
Signed-off-by: Andrea Claudi <aclaudi@redhat.com>
---
 testsuite/tools/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Hangbin Liu Oct. 24, 2022, 2:32 a.m. UTC | #1
On Sun, Oct 23, 2022 at 05:37:11PM +0200, Andrea Claudi wrote:
> After commit 6c09257f1bf6 ("rtnetlink: add new function
> rtnl_echo_talk()") "make check" results in:
> 
> $ make check
> 
> make -C testsuite
> make -C iproute2 configure
> make -C testsuite alltests
> make -C tools
>     CC       generate_nlmsg
> /usr/bin/ld: /tmp/cc6YaGBM.o: in function `rtnl_echo_talk':
> libnetlink.c:(.text+0x25bd): undefined reference to `new_json_obj'
> /usr/bin/ld: libnetlink.c:(.text+0x25c7): undefined reference to `open_json_object'
> /usr/bin/ld: libnetlink.c:(.text+0x25e3): undefined reference to `close_json_object'
> /usr/bin/ld: libnetlink.c:(.text+0x25e8): undefined reference to `delete_json_obj'
> collect2: error: ld returned 1 exit status
> make[2]: *** [Makefile:6: generate_nlmsg] Error 1
> make[1]: *** [Makefile:40: generate_nlmsg] Error 2
> make: *** [Makefile:130: check] Error 2
> 
> This is due to json function calls included in libutil and not in
> libnetlink. Fix this adding libutil.a to the tools Makefile, and linking
> against libcap as required by libutil itself.
> 
> Fixes: 6c09257f1bf6 ("rtnetlink: add new function rtnl_echo_talk()")
> Signed-off-by: Andrea Claudi <aclaudi@redhat.com>
> ---
>  testsuite/tools/Makefile | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/testsuite/tools/Makefile b/testsuite/tools/Makefile
> index e3e771d7..e0162ccc 100644
> --- a/testsuite/tools/Makefile
> +++ b/testsuite/tools/Makefile
> @@ -2,8 +2,8 @@
>  CFLAGS=
>  include ../../config.mk
>  
> -generate_nlmsg: generate_nlmsg.c ../../lib/libnetlink.c
> -	$(QUIET_CC)$(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -I../../include -I../../include/uapi -include../../include/uapi/linux/netlink.h -o $@ $^ -lmnl
> +generate_nlmsg: generate_nlmsg.c ../../lib/libnetlink.a ../../lib/libutil.a
> +	$(QUIET_CC)$(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -I../../include -I../../include/uapi -include../../include/uapi/linux/netlink.h -o $@ $^ -lmnl -lcap
>  
>  clean:
>  	rm -f generate_nlmsg
> -- 
> 2.37.3
> 

Thanks for the fix.

Acked-by: Hangbin Liu <liuhangbin@gmail.com>
diff mbox series

Patch

diff --git a/testsuite/tools/Makefile b/testsuite/tools/Makefile
index e3e771d7..e0162ccc 100644
--- a/testsuite/tools/Makefile
+++ b/testsuite/tools/Makefile
@@ -2,8 +2,8 @@ 
 CFLAGS=
 include ../../config.mk
 
-generate_nlmsg: generate_nlmsg.c ../../lib/libnetlink.c
-	$(QUIET_CC)$(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -I../../include -I../../include/uapi -include../../include/uapi/linux/netlink.h -o $@ $^ -lmnl
+generate_nlmsg: generate_nlmsg.c ../../lib/libnetlink.a ../../lib/libutil.a
+	$(QUIET_CC)$(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -I../../include -I../../include/uapi -include../../include/uapi/linux/netlink.h -o $@ $^ -lmnl -lcap
 
 clean:
 	rm -f generate_nlmsg