Dépendances

Jami est un logiciel vaste et complexe, qui dépend de plusieurs bibliothèques externes de logiciels libres. Nous décrivons, ci-dessous, ces dépendances et comment les installer sur certains systèmes.

jami-daemon

Pour construire le daemon Jami, il faut actuellement les outils et les bibliothèques suivants:

Sur les distributions GNU/Linux dérivées de Debian qui utilisent dpkg telles que Debian, Trisquel, Ubuntu, et Linux Mint, les paquets peuvent être installés avec les commandes apt-get ou apt de la manière suivante :

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

Sur les distributions GNU/Linux qui utilisent rpm telles que Fedora et openSUSE, les paquets peuvent être installés avec les commandes dnf, yum ou zypper de la manière suivante :

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

Si des problèmes surgissent à propos de dépendances irrésolues, vérifiez :

  • Les définitions de paquets Jami, disponibles sur dl.jami.net, et

  • Le script build.py, sur le référentiel de jami-project.

jami-client-qt

Voir aussi

Pour des instructions complètes pour construire le client de bureau Qt, référez-vous aux instructions du fichier INSTALL.md.

Pour construire le daemon Jami, il faut actuellement les outils et les bibliothèques suivants :

  • jami-daemon

  • libnm

  • libnotify

  • libqrencode

  • libayatana-appindicator ou libappindicator (facultatif pour les notifications)

  • qt6-base

  • qt6-declarative

  • qt6-graphicaleffects

  • qt6-multimedia

  • qt6-networkauth

  • qt6-svg

  • qt6-tools

  • qt6-webengine (optionnel, actuellement pour les prévisualisations de liens et certaines prévisualisations de fichiers multimédias)

Le paquet libqt-jami (respectivement jami-libqt) disponible sur dl.jami.net, fournit les dépendances Qt 6 pour les distributions dérivées de Debian basées sur dpkg (respectivement RPM). Il est nécessaire pour construire Jami sur des versions plus anciennes de ces distributions où Qt 6 n’est pas encore disponible en tant que paquet officiel sur les référentiels de ces distributions. Pour installer ce paquet qui fournit les dépendances à Qt 6 sur une distribution supportée :

  1. Ajoutez le référentiel dl.jami.net en suivant les instructions de la page Télécharger Jami pour GNU/Linux ; et

  2. Installer le paquet à l’aide du Terminal, en utilisant la commande sudo apt-get install libqt-jami (sur une distribution GNU/Linux dérivée de Debian basée sur dpkg) ou bien sudo dnf install jami-libqt (sur une distribution GNU/Linux basée sur RPM).

Sur les distributions GNU/Linux dérivées de Debian basées sur dpkg, telles que Debian, Trisquel, Ubuntu et Linux Mint, vous pouvez installer les paquets en utilisant apt-get ou apt comme suit :

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

Pour installer les paquets optionnels de Qt WebEngine :

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

Sur les distributions GNU/Linux basées sur RPM, telles que Fedora ou openSUSE, les paquets peuvent être installés avec les commandes dnf, yum ou zypper de la manière suivante :

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

Pour installer les paquets optionnels de Qt WebEngine :

sudo dnf install qt6-qtwebengine-devel

Note

L’approche la plus facile consiste à installer le paquet libqt-jami (respectivement jami-libqt) sur votre distribution GNU/Linux dérivée de Debian basée sur dpkg (respectivement RPM). Ceci vous garantira que :

  • Toutes les dépendances requises à Qt 6 sont récupérées  et

  • L’application est la plus proche possible de ce qui a été construit et testé.