mbox series

[00/15] Build fixes for musl libc

Message ID 20190311173702.24471-1-ncopa@alpinelinux.org (mailing list archive)
Headers
Series Build fixes for musl libc |

Message

Natanael Copa March 11, 2019, 5:36 p.m. UTC
  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.

Natanael Copa (15):
  app/testpmd: replace uint with unsigned int
  net/cxgbe: replace uint with unsigned int
  bus/pci: add fallback for out[lwb]_p for non GNU libc
  bus/pci: factor out various ifdefs in pci_uio_ioport_{read,write}
  bus/fslmc: fix compile error with musl libc
  bus/fslmc: remove unused include of error.h
  net/nfp: build fix for musl libc
  app/test: include fcntl.h due to use of O_RDONLY
  app/test: fix setting of -D_GNU_SOURCE with meson
  bus/dpaa: use warn(3) instead of error(3) to improve portability
  bus/dpaa: fix warning: "__WORDSIZE" is not defined, evaluates to 0
  crypto/dpaa2_sec: build fix for musl libc
  crypto/dpaa2_sec: simplify pr_{debug,err,warn} macros
  net/netvsc: fix compile warning for fcntl.h include
  eal/linux: use gettid(2) for debug message in sigbus_handler

 app/test-pmd/testpmd.h                     |  2 +-
 app/test/meson.build                       |  2 +-
 app/test/test_eal_flags.c                  |  1 +
 drivers/bus/dpaa/base/fman/netcfg_layer.c  |  4 +-
 drivers/bus/dpaa/base/qbman/bman_driver.c  |  6 +-
 drivers/bus/dpaa/base/qbman/qman_driver.c  | 12 ++--
 drivers/bus/dpaa/include/compat.h          |  2 +-
 drivers/bus/dpaa/include/fsl_qman.h        |  3 +-
 drivers/bus/fslmc/qbman/include/compat.h   |  2 +-
 drivers/bus/pci/linux/pci_uio.c            | 82 ++++++++++++++--------
 drivers/crypto/dpaa2_sec/hw/compat.h       | 36 +++++-----
 drivers/net/cxgbe/base/common.h            | 18 ++---
 drivers/net/netvsc/hn_vf.c                 |  2 +-
 drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c |  2 +
 lib/librte_eal/linuxapp/eal/eal_dev.c      |  8 ++-
 15 files changed, 104 insertions(+), 78 deletions(-)
  

Comments

Andrius Sirvys March 13, 2019, 11:45 a.m. UTC | #1
I'm trying on Alpine Linux to build using make with the patches, and 
there are quite a few errors saying argp.h doesn't exist.

In file included from 
/root/dpdk/drivers/bus/dpaa/base/fman/netcfg_layer.c:19:
/root/dpdk/drivers/bus/dpaa/include/netcfg.h:12:10: fatal error: argp.h: 
No such file or directory
  #include <argp.h>

In file included from /root/dpdk/drivers/bus/dpaa/rte_dpaa_bus.h:17,
                  from /root/dpdk/drivers/bus/dpaa/dpaa_bus.c:35:
/root/dpdk/drivers/bus/dpaa/include/netcfg.h:12:10: fatal error: argp.h: 
No such file or directory
  #include <argp.h>

In file included from /root/dpdk/drivers/bus/dpaa/rte_dpaa_bus.h:17,
                  from /root/dpdk/drivers/bus/dpaa/base/qbman/qman.c:10:
/root/dpdk/drivers/bus/dpaa/include/netcfg.h:12:10: fatal error: argp.h: 
No such file or directory
  #include <argp.h>

On 11/03/2019 17:36, Natanael Copa 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.
>
> Natanael Copa (15):
>    app/testpmd: replace uint with unsigned int
>    net/cxgbe: replace uint with unsigned int
>    bus/pci: add fallback for out[lwb]_p for non GNU libc
>    bus/pci: factor out various ifdefs in pci_uio_ioport_{read,write}
>    bus/fslmc: fix compile error with musl libc
>    bus/fslmc: remove unused include of error.h
>    net/nfp: build fix for musl libc
>    app/test: include fcntl.h due to use of O_RDONLY
>    app/test: fix setting of -D_GNU_SOURCE with meson
>    bus/dpaa: use warn(3) instead of error(3) to improve portability
>    bus/dpaa: fix warning: "__WORDSIZE" is not defined, evaluates to 0
>    crypto/dpaa2_sec: build fix for musl libc
>    crypto/dpaa2_sec: simplify pr_{debug,err,warn} macros
>    net/netvsc: fix compile warning for fcntl.h include
>    eal/linux: use gettid(2) for debug message in sigbus_handler
>
>   app/test-pmd/testpmd.h                     |  2 +-
>   app/test/meson.build                       |  2 +-
>   app/test/test_eal_flags.c                  |  1 +
>   drivers/bus/dpaa/base/fman/netcfg_layer.c  |  4 +-
>   drivers/bus/dpaa/base/qbman/bman_driver.c  |  6 +-
>   drivers/bus/dpaa/base/qbman/qman_driver.c  | 12 ++--
>   drivers/bus/dpaa/include/compat.h          |  2 +-
>   drivers/bus/dpaa/include/fsl_qman.h        |  3 +-
>   drivers/bus/fslmc/qbman/include/compat.h   |  2 +-
>   drivers/bus/pci/linux/pci_uio.c            | 82 ++++++++++++++--------
>   drivers/crypto/dpaa2_sec/hw/compat.h       | 36 +++++-----
>   drivers/net/cxgbe/base/common.h            | 18 ++---
>   drivers/net/netvsc/hn_vf.c                 |  2 +-
>   drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c |  2 +
>   lib/librte_eal/linuxapp/eal/eal_dev.c      |  8 ++-
>   15 files changed, 104 insertions(+), 78 deletions(-)
>
  
Natanael Copa March 13, 2019, 4:53 p.m. UTC | #2
On Wed, 13 Mar 2019 11:45:09 +0000
"Sirvys, Andrius" <andrius.sirvys@intel.com> wrote:

> I'm trying on Alpine Linux to build using make with the patches, and 
> there are quite a few errors saying argp.h doesn't exist.
> 
> In file included from 
> /root/dpdk/drivers/bus/dpaa/base/fman/netcfg_layer.c:19:
> /root/dpdk/drivers/bus/dpaa/include/netcfg.h:12:10: fatal error: argp.h: 
> No such file or directory
>   #include <argp.h>
> 
> In file included from /root/dpdk/drivers/bus/dpaa/rte_dpaa_bus.h:17,
>                   from /root/dpdk/drivers/bus/dpaa/dpaa_bus.c:35:
> /root/dpdk/drivers/bus/dpaa/include/netcfg.h:12:10: fatal error: argp.h: 
> No such file or directory
>   #include <argp.h>
> 
> In file included from /root/dpdk/drivers/bus/dpaa/rte_dpaa_bus.h:17,
>                   from /root/dpdk/drivers/bus/dpaa/base/qbman/qman.c:10:
> /root/dpdk/drivers/bus/dpaa/include/netcfg.h:12:10: fatal error: argp.h: 
> No such file or directory
>   #include <argp.h>

argp is a GNU extension and in Alpine we have it as a separate addon
package. Try `apk add argp-standalone`.

I also had to unset the RTE_BACKTRACE when building with ninja.


> On 11/03/2019 17:36, Natanael Copa 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.
> >
> > Natanael Copa (15):
> >    app/testpmd: replace uint with unsigned int
> >    net/cxgbe: replace uint with unsigned int
> >    bus/pci: add fallback for out[lwb]_p for non GNU libc
> >    bus/pci: factor out various ifdefs in pci_uio_ioport_{read,write}
> >    bus/fslmc: fix compile error with musl libc
> >    bus/fslmc: remove unused include of error.h
> >    net/nfp: build fix for musl libc
> >    app/test: include fcntl.h due to use of O_RDONLY
> >    app/test: fix setting of -D_GNU_SOURCE with meson
> >    bus/dpaa: use warn(3) instead of error(3) to improve portability
> >    bus/dpaa: fix warning: "__WORDSIZE" is not defined, evaluates to 0
> >    crypto/dpaa2_sec: build fix for musl libc
> >    crypto/dpaa2_sec: simplify pr_{debug,err,warn} macros
> >    net/netvsc: fix compile warning for fcntl.h include
> >    eal/linux: use gettid(2) for debug message in sigbus_handler
> >
> >   app/test-pmd/testpmd.h                     |  2 +-
> >   app/test/meson.build                       |  2 +-
> >   app/test/test_eal_flags.c                  |  1 +
> >   drivers/bus/dpaa/base/fman/netcfg_layer.c  |  4 +-
> >   drivers/bus/dpaa/base/qbman/bman_driver.c  |  6 +-
> >   drivers/bus/dpaa/base/qbman/qman_driver.c  | 12 ++--
> >   drivers/bus/dpaa/include/compat.h          |  2 +-
> >   drivers/bus/dpaa/include/fsl_qman.h        |  3 +-
> >   drivers/bus/fslmc/qbman/include/compat.h   |  2 +-
> >   drivers/bus/pci/linux/pci_uio.c            | 82 ++++++++++++++--------
> >   drivers/crypto/dpaa2_sec/hw/compat.h       | 36 +++++-----
> >   drivers/net/cxgbe/base/common.h            | 18 ++---
> >   drivers/net/netvsc/hn_vf.c                 |  2 +-
> >   drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c |  2 +
> >   lib/librte_eal/linuxapp/eal/eal_dev.c      |  8 ++-
> >   15 files changed, 104 insertions(+), 78 deletions(-)
> >