2024-11-11 02:49:08 +07:00

4.9 KiB

tags link source related-to
bittorrent
https://www.qbittorrent.org https://github.com/qbittorrent/qBittorrent/
libtorrent-rasterbar

#bittorrent

link https://www.qbittorrent.org
source https://github.com/qbittorrent/qBittorrent/
related-to libtorrent-rasterbar

A Learn BitTorrent client that is said to be developed by volunteers in their spare time.

From Wikipedia:

qBittorrent is a cross-platform free and open-source BitTorrent clientwritten in native C++. It relies on BoostOpenSSLzlibQt 6 toolkit and the libtorrent-rasterbar library (for the torrent back-end), with an optional search engine written in Python.89.

Note about macOS support:

The macOS version is barely supported, because we don't have active macOS developers/contributors. The project is in need of macOS developers. If you are a macOS developer willing to help, just go to our bug tracker for a list of macOS related issues. Or try to fix bugs that you yourself have discovered and annoy you.

I am not sure if that information is completely up-to-date. I did not test building the client on macOS, yet, there seem to be instructions available: Compilation macOS (x86_64, arm64, cross compilation).

This is the most advanced and comprehensive open source client and has similar user coverage as Transmission.

Languages:

!Pasted image 20241023155058.png

How does it look like?

!qBittorrent-ubuntu.png

Preferences

Building

Machine: Linux Machine.

Building instructions: Compilation Debian, Ubuntu, and derivatives.

When trying to build I was having problems concerning Qt libraries. Following the tutorial, I have installed recommended Qt packages:

sudo apt install --no-install-recommends qtbase5-dev qttools5-dev libqt5svg5-dev

Unfortunately, this did not work. When subsequently running:

$ cmake -G "Ninja" -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local
$ cmake --build build

I was getting the following error already with the first command above:

CMake Error at cmake/Modules/CheckPackages.cmake:49 (find_package):
  By not providing "FindQt6.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Qt6", but
  CMake did not find one.

  Could not find a package configuration file provided by "Qt6" (requested
  version 6.5.0) with any of the following names:

    Qt6Config.cmake
    qt6-config.cmake

  Add the installation prefix of "Qt6" to CMAKE_PREFIX_PATH or set "Qt6_DIR"
  to a directory containing one of the above files.  If "Qt6" provides a
  separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:56 (include)

To fix this, first needed to Installing Qt on Ubuntu 24.04.1 LTS, then I have modified ./CMakeLists.txt by adding the following two lines after line 15:

# version requirements - older versions may work, but you are on your own
set(minBoostVersion 1.76)
set(minQt6Version 6.5.0)
set(minOpenSSLVersion 3.0.2)
set(minLibtorrent1Version 1.2.19)
set(minLibtorrentVersion 2.0.10)
set(minZlibVersion 1.2.11)
# added the following two lines:
set(Qt6_DIR "~/Qt/6.8.0/gcc_64/lib/cmake/Qt6/")
set(Qt6GuiTools_DIR "~/Qt/6.8.0/gcc_64/lib/cmake/Qt6GuiTools/")

After that I was able to successfully compile the client. I skipped installation step:

$ sudo cmake --install build