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-7.10 platform.

Package Information

  • Download (HTTP):

  • Download MD5 sum: 2e4efe57ff28cb3202a112e90f0c2889

  • Download size: 140 KB

  • Estimated disk space required: 2.6 MB (additional 2.2 MB for the tests)

  • Estimated build time: less than 0.1 SBU (additional 0.3 SBU for the tests)

Serf Dependencies


Apr-Util-1.5.4, OpenSSL-1.0.2h, and SCons-2.5.0


MIT Kerberos V5-1.14.3, for the GSSAPI

User Notes:

Installation of Serf

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 &&
scons PREFIX=/usr

If you wish to run the test suite, fix one file:

sed -i test/test_buckets.c \
    -e 's://\(    buf_size = orig_len + (orig_len / 1000) + 12;\):/\*\1\ */:'

To test the results, issue: scons check. With above fix, 1 out of 65 tests still fails for unknown reasons.

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.

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


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

Short Descriptions

contains the Serf API functions.

Last updated on 2016-08-27 10:00:09 -0700