[dpdk-dev] [PATCH v7 00/17] Alpine/musl build support
Thomas Monjalon
thomas at monjalon.net
Fri Mar 19 15:57:13 CET 2021
These patches fix some build errors/warning for Alpine Linux,
using musl and busybox.
Few improvements are added on the way.
The goal is to run a container with the following Dockerfile:
8< ------------
FROM alpine
# DPDK prerequisites
RUN apk --no-cache add \
gcc libc-dev bsd-compat-headers linux-headers \
python3 py3-elftools meson ninja \
libexecinfo-dev numactl-dev zlib-dev libpcap-dev libbpf-dev openssl-dev
# mlx prerequisites
RUN apk --no-cache add \
git cmake libnl3-dev
RUN git clone https://github.com/linux-rdma/rdma-core.git
WORKDIR /rdma-core/build
RUN cmake -DNO_MAN_PAGES=1 -DNO_PYVERBS=1 -GNinja ..
RUN ninja install
WORKDIR /
# download
ARG version
RUN if [ "$version" = git ] ; then \
git clone http://dpdk.org/git/dpdk dpdk-$version ;\
else \
wget http://fast.dpdk.org/rel/dpdk-$version.tar.xz && \
tar xf dpdk-$version.tar.xz ;\
fi
# build
WORKDIR dpdk-$version/build
RUN meson ..
RUN ninja install
8< ------------
v7:
- rework port I/O fix after rebase and without asm
- fix patch order for compilation
- fix DPAA error with err instead of warn
v6: do not set _GNU_SOURCE in pkg-config
Natanael Copa (6):
common/dpaax/caamflib: fix build with musl
common/dpaax/caamflib: simplify log macros
bus/dpaa: fix 64-bit arch detection
bus/dpaa: fix build with musl
net/cxgbe: remove use of uint type
app/testpmd: fix build with musl
Thomas Monjalon (11):
eal: fix comment of OS-specific header files
buildtools: fix build with busybox
build: detect execinfo library on Linux
build: remove redundant _GNU_SOURCE definitions
eal: fix build with musl
drivers: replace page size definitions with function
bus/pci: support I/O port operations with musl
net/igc: remove use of uint type
vdpa/mlx5: replace pthread functions unavailable in musl
event/dlb: fix header includes for musl
examples/bbdev: fix header include for musl
app/meson.build | 4 ---
app/test-pmd/bpf_cmd.c | 2 +-
app/test-pmd/config.c | 2 +-
app/test-pmd/testpmd.h | 2 +-
app/test/meson.build | 3 --
buildtools/binutils-avx512-check.sh | 2 +-
buildtools/check-symbols.sh | 2 +-
buildtools/map-list-symbol.sh | 2 +-
config/meson.build | 9 +++--
doc/api/doxy-api.conf.in | 3 +-
drivers/bus/dpaa/base/fman/netcfg_layer.c | 4 +--
drivers/bus/dpaa/base/qbman/bman_driver.c | 13 +++++---
drivers/bus/dpaa/base/qbman/qman_driver.c | 17 +++++++---
drivers/bus/dpaa/include/fsl_qman.h | 2 +-
drivers/bus/dpaa/include/netcfg.h | 1 -
drivers/bus/fslmc/qbman/include/compat.h | 3 --
drivers/bus/pci/linux/pci_uio.c | 32 ++++++++++++++++--
drivers/bus/pci/linux/pci_vfio.c | 9 ++---
drivers/bus/vmbus/linux/vmbus_uio.c | 4 +--
drivers/bus/vmbus/private.h | 5 +--
drivers/bus/vmbus/rte_vmbus_reg.h | 2 +-
drivers/bus/vmbus/vmbus_common_uio.c | 4 +--
drivers/common/dpaax/caamflib/compat.h | 40 ++++++++++-------------
drivers/common/dpaax/compat.h | 5 ---
drivers/common/dpaax/meson.build | 1 -
drivers/crypto/virtio/virtio_pci.h | 3 +-
drivers/event/dlb/dlb.c | 9 +++--
drivers/event/dlb/dlb_priv.h | 2 --
drivers/event/dlb/pf/base/dlb_osdep.h | 2 +-
drivers/event/dlb/pf/dlb_main.h | 5 +--
drivers/event/dlb/pf/dlb_pf.c | 13 +++++---
drivers/event/dlb2/dlb2.c | 2 +-
drivers/event/dlb2/dlb2_priv.h | 2 --
drivers/event/dlb2/pf/base/dlb2_osdep.h | 2 +-
drivers/event/dlb2/pf/dlb2_main.h | 5 +--
drivers/event/dlb2/pf/dlb2_pf.c | 11 ++++---
drivers/net/bnx2x/ecore_fw_defs.h | 18 ++++++----
drivers/net/cxgbe/base/common.h | 18 +++++-----
drivers/net/igc/igc_flow.c | 2 +-
drivers/net/ionic/ionic_lif.c | 27 ++++++++-------
drivers/net/ionic/ionic_main.c | 3 +-
drivers/net/ionic/ionic_osdep.h | 2 +-
drivers/net/memif/rte_eth_memif.h | 4 ---
drivers/net/mlx5/linux/mlx5_socket.c | 4 ---
drivers/net/netvsc/hn_rndis.c | 12 +++----
drivers/net/netvsc/hn_rxtx.c | 10 +++---
drivers/net/netvsc/hn_var.h | 9 ++---
drivers/net/virtio/virtio.h | 2 +-
drivers/net/virtio/virtio_ethdev.c | 6 ++--
drivers/net/virtio/virtio_ethdev.h | 4 ---
drivers/vdpa/ifc/ifcvf_vdpa.c | 17 ++++------
drivers/vdpa/mlx5/mlx5_vdpa_event.c | 25 +++++++-------
examples/bbdev_app/main.c | 2 +-
examples/meson.build | 4 +--
lib/librte_eal/freebsd/include/rte_os.h | 6 ++--
lib/librte_eal/include/rte_lcore.h | 4 +++
lib/librte_eal/include/rte_thread.h | 4 +++
lib/librte_eal/linux/include/rte_os.h | 8 +++--
lib/librte_eal/unix/eal_file.c | 1 +
lib/librte_eal/windows/include/rte_os.h | 5 ++-
lib/librte_eal/windows/include/sched.h | 1 +
lib/librte_telemetry/rte_telemetry.h | 4 +++
62 files changed, 226 insertions(+), 205 deletions(-)
--
2.30.1
More information about the dev
mailing list