The libsoup3 is a HTTP client/server library for GNOME. It uses GObject and the GLib main loop to integrate with GNOME applications and it also has an asynchronous API for use in threaded applications.
![[Note]](../images/note.png)
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Download (HTTP): https://download.gnome.org/sources/libsoup/3.4/libsoup-3.4.4.tar.xz
Download MD5 sum: a63ea04a9686e9e4470b127ffe1eb96b
Download size: 1.5 MB
Estimated disk space required: 38 MB (with tests)
Estimated build time: 0.3 SBU (Using parallelism=4; with tests)
glib-networking-2.78.0, libpsl-0.21.2, libxml2-2.12.1, nghttp2-1.58.0, and SQLite-3.44.2
gobject-introspection-1.78.1 and Vala-0.56.14
Apache-2.4.58 (required to run the test suite), Brotli-1.1.0, cURL-8.4.0 (required to run the test suite), Gi-DocGen-2023.3, MIT Kerberos V5-1.21.2 (required to run the test suite), PHP-8.3.0 compiled with XMLRPC-EPI support (only used for the XMLRPC regression tests), Samba-4.19.3 (ntlm_auth is required to run the test suite), sysprof, and wstest
Fix the installation path of API documentation:
sed 's/apiversion/soup_version/' -i docs/reference/meson.build
Install libsoup3 by running the following commands:
mkdir build &&
cd build &&
meson setup --prefix=/usr \
--buildtype=release \
-Dvapi=enabled \
-Dgssapi=disabled \
-Dsysprof=disabled \
--wrap-mode=nofallback \
.. &&
ninjaTo test the results, issue: ninja test.
Now, as the root user:
ninja install
--buildtype=release: Specify a buildtype
suitable for stable releases of the package, as the default may
produce unoptimized binaries.
--wrap-mode=nofallback: This switch prevents
meson from using subproject fallbacks for any
dependency declarations in the build files, stopping it downloading
any optional dependency which is not installed on the system.
-Dvapi=disabled: Use this if you have not installed
Vala, e.g. because you are not building
GNOME.
-Ddocs=enabled: If Gi-DocGen-2023.3 is
installed, the API documentation will be built and installed no matter
if this option is used or not. This option causes the
meson command to fail if
Gi-DocGen-2023.3 is not installed.
-Dgssapi=disabled: libsoup3 defaults to building with GSSAPI support,
which requires Kerberos (as does the test suite).
-Dsysprof=disabled: libsoup3 will automatically
download a git version of sysprof if
git is available or use the installed version if it is present on the
system. If you need profiling, remove this option.