Skip to content

Application Dependencies

github-actions[bot] edited this page Sep 30, 2026 · 2 revisions

BSC logo

When compiling/building the BLE Sync Cycle application locally, and in addition to having a standard Go environment installed and operational,the following additional libraries are required:

The GObject Introspection Package

  • This library used by Go provides machine readable introspection data of the API of C libraries, necessary as the GTK4/Adwaita libraries are natively C-based. To install:

    sudo apt install libgirepository1.0-dev 
      OR
    sudo dnf install gobject-introspection-devel

The GTK4 Development Library

  • GTK4 is an open source library for designing graphical user interfaces (GUIs) for the Gnome desktop environment on Linux (also available on macOS and Windows). In order to use this library (necessary for building the BLE Sync Cycle application), it needs to be installed locally. To do so:

    sudo apt install libgtk-4-dev
      OR
    sudo dnf install gtk4-devel

The Adwaita (libadwaita) Development Library

  • As part of the GTK4 development library, Adwaita is an extension used to meet the guidance of the Gnome Human Interface Guidelines (HIG). To install this library:

    sudo apt install libadwaita-1-dev
      OR
    sudo dnf install gobject-introspection-devel

The mpv Media Player Library

  • BLE Sync Cycle relies on the mpv media player library for video playback. To install this library:

    sudo apt-get install libmpv2
      OR
    sudo dnf install mpv-libs
  • As well, the Go package used in conjunction with the mpv player (go-mpv) requires additional C language developer tools for compiling the package. To install these developer tools:

    sudo apt-get install libmpv-dev pkg-config gcc
      OR
    sudo dnf install mpv-devel pkgconf-pkg-config gcc

Note that the mpv media player itself does not need to be installed (just the mpv library)

Clone this wiki locally