[dpdk-dev] Build fixes for musl libc

David Marchand david.marchand at redhat.com
Fri Nov 6 11:44:28 CET 2020


Hello Natanael,

On Thu, Nov 5, 2020 at 10:17 PM Natanael Copa <ncopa at alpinelinux.org> wrote:
>
> A set of patches to fix build with musl libc. I also did a few cleanups wrt
> macros and fixed a few scary compiler warnings while at it.
>
> Please note that those are only compile tested on x86_64 with musl libc.
>
> v2 has some code style fixes reported by checkpatch
>
> v3 is a full reroll of the entire patch set to enable automatted tests
>    and logic for patchwork patchset.
>
> v4 rebase against main and deal with renames/moves.
>    fix commit messages to make check-git-log.sh happy.
>    improve error(3) -> warn(3) patch and clarify commit message.
>    update __WORDSIZE patch to use RTE_ARCH_64
>    add "Fixes:" tags
>    add a couple of patches fro eal
>
> Sorry that it took so long time to follow up.
>
> Natanael Copa (8):
>   app/testpmd: fix uint build error with musl libc
>   net/cxgbe: fix uint build error with musl libc
>   bus/pci: add fallback for out* for non GNU libc
>   bus/dpaa: use warn instead of error to improve portability
>   bus/dpaa: fix detection of 64 bit arch
>   common/dpaax: build fix for musl libc
>   common/dpaax: simplify pr debug/err/warn macros
>   eal: add missing include to fix build with musl libc

- I suppose you got the mails with the build errors from the robot.
Build is broken in dpaa (missing a few <err.h> includes).
https://travis-ci.com/github/ovsrobot/dpdk/jobs/429242867#L1005

- I still see a uint use in drivers/net/igc.
How about:

diff --git a/drivers/net/igc/igc_flow.c b/drivers/net/igc/igc_flow.c
index 1bb64d323c..66053060af 100644
--- a/drivers/net/igc/igc_flow.c
+++ b/drivers/net/igc/igc_flow.c
@@ -656,7 +656,7 @@ igc_parse_action_rss(struct rte_eth_dev *dev,
  * Return the pointer of the flow, or NULL for failed
  **/
 static inline struct rte_flow *
-igc_alloc_flow(const void *filter, enum igc_filter_type type, uint inbytes)
+igc_alloc_flow(const void *filter, enum igc_filter_type type, size_t inbytes)
 {
        /* allocate memory, 8 bytes boundary aligned */
        struct rte_flow *flow = rte_malloc("igc flow filter",


-- 
David Marchand



More information about the dev mailing list