The libsoup 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/2.74/libsoup-2.74.3.tar.xz
Download MD5 sum: 8f657fd301a213629204b3320c35d75a
Download size: 1.4 MB
Estimated disk space required: 17 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, 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), MIT Kerberos V5-1.21.2 (required to run the test suite), GTK-Doc-1.33.2, 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), and sysprof
First, fix a build failure caused by libxml2-2.12.x:
sed -i '/tree/a #include <libxml/parser.h>' libsoup/soup-xmlrpc*.c
Install libsoup by running the following commands:
mkdir build &&
cd build &&
meson setup --prefix=/usr \
--buildtype=release \
-Dvapi=enabled \
-Dgssapi=disabled \
-Dsysprof=disabled \
.. &&
ninja
To test the results, issue: ninja test.
One test named ssl-test is known to fail.
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.
-Dvapi=disabled: Use this if you have not installed
Vala, e.g. because you are not building
GNOME.
-Ddoc=enabled: Use this option if you want to build
the documentation. Note that you must have GTK-Doc-1.33.2 installed.
-Dgssapi=disabled: libsoup defaults to building with GSSAPI support,
which requires Kerberos (as does the test suite). If you are building GNOME or
have kerberos installed, remove this option.
-Dsysprof=disabled: libsoup 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.