Serf-1.3.9

Introduction to Serf

The Serf package contains a C-based HTTP client library built upon the Apache Portable Runtime (APR) library. It multiplexes connections, running the read/write communication asynchronously. Memory copies and transformations are kept to a minimum to provide high performance operation.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

Additional Downloads

Serf Dependencies

Required

Apr-Util-1.6.3 and SCons-4.5.2

Optional

MIT Kerberos V5-1.20.1, for the GSSAPI

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/serf

Installation of Serf

First, fix an issue that causes compilation issues in other packages when using OpenSSL-3:

patch -Np1 -i ../serf-1.3.9-openssl3_fixes-1.patch

Install Serf by running the following commands:

sed -i "/Append/s:RPATH=libdir,::"          SConstruct &&
sed -i "/Default/s:lib_static,::"           SConstruct &&
sed -i "/Alias/s:install_static,::"         SConstruct &&
sed -i "/  print/{s/print/print(/; s/$/)/}" SConstruct &&
sed -i "/get_contents()/s/,/.decode()&/"    SConstruct &&

scons PREFIX=/usr

This package does not come with a functional test suite.

Now, as the root user:

scons PREFIX=/usr install

Command Explanations

sed -i "...": The first command removes the runtime path from a shared library and the next two commands disable building and installing of the static library. The fourth command corrects for changes in scons-3.x. The last command allows to use Python 3.

GSSAPI=/usr: Use this switch if you have installed a GSSAPI library and you want serf to use it.

Contents

Installed Programs: None
Installed Library: libserf-1.so
Installed Directory: /usr/include/serf-1

Short Descriptions

libserf-1.so

contains the Serf API functions