Subject: Re: [PATCH iproute2 v4 1/1] build: Fix link errors on some systems

From: Petr Machata <[email-masked]>
Date: Tue, 12 Jan 2021 13:21:04 +0100

Roi Dayan <[email-masked]> writes:

> Since moving get_rate() and get_size() from tc to lib, on some
> systems we fail to link because of missing math lib.
> Move the functions that require math lib to their own c file
> and add -lm to dcb that now use those functions.
>
> ../lib/libutil.a(utils.o): In function `get_rate':
> utils.c:(.text+0x10dc): undefined reference to `floor'
> ../lib/libutil.a(utils.o): In function `get_size':
> utils.c:(.text+0x1394): undefined reference to `floor'
> ../lib/libutil.a(json_print.o): In function `sprint_size':
> json_print.c:(.text+0x14c0): undefined reference to `rint'
> json_print.c:(.text+0x14f4): undefined reference to `rint'
> json_print.c:(.text+0x157c): undefined reference to `rint'
>
> Fixes: f3be0e6366ac ("lib: Move get_rate(), get_rate64() from tc here")
> Fixes: 44396bdfcc0a ("lib: Move get_size() from tc here")
> Fixes: adbe5de96662 ("lib: Move sprint_size() from tc here, add print_size()")
>
> Signed-off-by: Roi Dayan <[email-masked]>

Looking good:

    $ ldd ip/ip | grep libm.so
    $ ldd dcb/dcb | grep libm.so
            libm.so.6 => /lib64/libm.so.6 (0x00007f204d0c2000)

Reviewed-by: Petr Machata <[email-masked]>
Tested-by: Petr Machata <[email-masked]>