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.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Additional Downloads

Serf Dependencies

Required

Apr-Util-1.6.3 and SCons-4.4.0

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