Build and runtime dependencies of the libqmi library.

Common dependencies

Before you can compile the libqmi library, you will need at least the following tools:

  • A compliant C toolchain: e.g. glibc or musl libc, gcc or clang/llvm.
  • pkg-config, a tool for tracking the compilation flags needed for libraries.
  • The glib2 library.
    • For libqmi >= 1.30, glib2 >= 2.56.
    • For libqmi >= 1.26, glib2 >= 2.48.
    • For libqmi >= 1.18 and < 1.26, glib2 >= 2.36
    • For libqmi >= 1.0 and < 1.18, glib2 >= 2.32

In addition to the previous mandatory requirements, the project also has several optional dependencies that would be needed when enabling additional project features:

  • libmbim, in order to use the QMI-over-MBIM feature.
    • For libqmi >= 1.22, libmbim >= 1.18.
    • For libqmi >= 1.16 and < 1.22, libmbim >= 1.14.
  • libqrtr-glib, in order to use the QMI-over-QRTR feature.
    • For libqmi >= 1.28, libqrtr-glib >= 1.0.
  • The libgudev library, in order to extend the qmi-firmware-update options and behavior.
    • For libqmi >= 1.30, libgudev >= 232.
    • For libqmi >= 1.18, libgudev >= 147.
  • gtk-doc tools, in order to regenerate the documentation.
  • gobject-introspection, in order to generate the introspection support.

Dependencies when building libqmi 1.30 or later with meson

When building with meson, the following additional dependencies are required:

The following optional dependencies are available when building with meson:

  • bash-completion, in order to add completion support for the command line tools.

Dependencies when building libmbim 1.30 or earlier with GNU autotools

When building with the GNU autotools, the following additional dependencies are required:

There are two main ways to build the library using GNU autotools: from a git repository checkout and from a source release tarball. When building from a git checkout instead of from a source tarball, the following additional dependencies are required: