依赖性

Jami is a large and complex piece of software, and depends on several external free software libraries. The dependencies and how to install them on some systems are outlined below.

jami-daemon

Building the Jami daemon requires the following tools and libraries:

On dpkg/Debian-based GNU/Linux distributions (such as Debian, Trisquel, Ubuntu, and Linux Mint), the packages can be installed with apt-get or apt as follows:

sudo apt-get install autoconf autoconf-archive autopoint automake \
  cmake make dbus doxygen graphviz g++ gettext libasound2-dev \
  libavcodec-dev libavdevice-dev libavformat-dev libboost-dev \
  libcppunit-dev libdbus-1-dev libdbus-c++-dev libexpat1-dev \
  libgnutls28-dev libgtk-3-dev libjack-dev libopus-dev \
  libpcre3-dev libpulse-dev libssl-dev libspeex-dev \
  libspeexdsp-dev libswscale-dev libtool libudev-dev \
  libyaml-cpp-dev sip-tester swig uuid-dev yasm libjsoncpp-dev \
  libva-dev libvdpau-dev libmsgpack-dev pandoc nasm dpkg-dev

On RPM-based GNU/Linux distributions (such as Fedora and openSUSE), the packages can be installed with dnf, yum, or zypper as follows:

sudo dnf install autoconf autoconf-archive automake cmake make \
  speexdsp-devel pulseaudio-libs-devel libtool dbus-devel \
  expat-devel pcre-devel doxygen graphviz yaml-cpp-devel \
  boost-devel dbus-c++-devel dbus-devel libXext-devel \
  libXfixes-devel yasm speex-devel chrpath check uuid-c++-devel \
  gettext-devel gcc-c++ which alsa-lib-devel systemd-devel \
  libuuid-devel uuid-devel gnutls-devel nettle-devel opus-devel \
  speexdsp-devel yaml-cpp-devel swig jsoncpp-devel patch \
  libva-devel openssl-devel libvdpau-devel msgpack-devel \
  sqlite-devel openssl-static pandoc nasm bzip2

If there are any issues with missing dependencies, please check:

  • The Jami package definitions, distributed on dl.jami.net; and

  • The build.py script, on the jami-project repository.

公司客户端

参见

For complete instructions on how to build the Qt Desktop client, please refer to the INSTALL.md file.

Building the Jami client requires the following tools and libraries:

  • jami-daemon

  • 通知

  • 发行代码

  • 适用性指标或适用性指标 (可选,用于通知)

  • 6基

  • 声明式

  • 图形效应

  • 6多媒体

  • 网络的Qt6

  • qt6-webengine (可选,目前用于链接预览和一些媒体文件预览)

The libqt-jami and jami-libqt packages from dl.jami.net provide the required Qt 6 dependencies on supported dpkg/Debian-based and RPM-based GNU/Linux distributions, respectively. This is especially useful for building Jami on slightly older versions of these distributions where Qt 6 is not yet packaged in the distribution’s official repositories. To install this package providing the Qt 6 dependencies on a supported distribution:

  1. Add the respective dl.jami.net repository by following the instructions on the Download Jami for GNU/Linux webpage; and

  2. Install the package using the Terminal command sudo apt-get install libqt-jami (for dpkg/Debian-based GNU/Linux distributions) or sudo dnf install jami-libqt (for RPM-based GNU/Linux distributions).

On dpkg/Debian-based GNU/Linux distributions (such as Debian, Trisquel, Ubuntu, and Linux Mint), the packages can be installed with apt-get or apt as follows:

sudo apt-get install qt6-base-dev qt6-tools-dev \
  qt6-tools-dev-tools qt6-l10n-tools libqt6sql6-sqlite \
  libqt6core5compat6-dev libqt6networkauth6-dev \
  qt6-multimedia-dev libqt6svg6-dev qt6-declarative-dev \
  qml6-module-qt-labs-qmlmodels \
  qml6-module-qt5compat-graphicaleffects \
  qml6-module-qtqml-workerscript qml6-module-qtmultimedia \
  qml6-module-qtquick qml6-module-qtquick-controls \
  qml6-module-qtquick-dialogs qml6-module-qtquick-layouts \
  qml6-module-qtquick-shapes qml6-module-qtquick-window \
  qml6-module-qtquick-templates qml6-module-qt-labs-platform \
  libqrencode-dev libnm-dev libnotify-dev

To install the optional Qt WebEngine packages:

sudo apt-get install libqt6webengine6-data \
  libqt6webenginecore6-bin qt6-webengine-dev \
  qt6-webengine-dev-tools qml6-module-qtwebengine \
  qml6-module-qtwebchannel

On RPM-based GNU/Linux distributions (such as Fedora and openSUSE), the packages can be installed with dnf, yum, or zypper as follows:

sudo dnf install qt6-qtbase-devel qt6-qtsvg-devel \
  qt6-qtmultimedia-devel qt6-qtdeclarative-devel qrencode-devel \
  NetworkManager-libnm-devel

To install the optional Qt WebEngine packages:

sudo dnf install qt6-qtwebengine-devel

备注

The easiest approach would be to install the libqt-jami or jami-libqt package on your supported dpkg/Debian-based or RPM-based GNU/Linux distribution, respectively. This would ensure that:

  • All the required Qt 6 dependencies are fetched; and

  • The application is as similar as possible at what is being built and tested.