Introduction to libgusb

The libgusb package contains the GObject wrappers for libusb-1.0 that makes it easy to do asynchronous control, bulk and interrupt transfers with proper cancellation and integration into a mainloop.

This package is known to build and work properly using an LFS 12.1 platform.

Package Information

libgusb Dependencies


JSON-GLib-1.8.0 and libusb-1.0.27



Gi-DocGen-2023.3 and umockdev-0.17.18 (for full test coverage)

Installation of libgusb

Install libgusb by running the following commands:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -Ddocs=false        &&

If you have Gi-DocGen-2023.3 installed and wish to build the API documentation for this package, issue:

sed -E "/output|install_dir/s/('libgusb)'/\1-0.4.8'/" \
    -i ../docs/                            &&
meson configure -Ddocs=true                           &&

To test the results, issue: ninja test.

Now, as the root user:

ninja install

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-Ddocs=false: Allow building this package without Gi-DocGen-2023.3 installed. If you have Gi-DocGen-2023.3 installed and you wish to rebuild and install the API documentation, a meson configure command will reset this option.


Installed Programs: gusbcmd
Installed Library:
Installed Directories: /usr/include/gusb-1 and /usr/share/doc/libgusb-0.4.8 (if gi-docgen is used)

Short Descriptions


is a debugging tool for the libgusb library

contains the libgusb API functions