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.
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.
Download (HTTP): https://archive.apache.org/dist/serf/serf-1.3.9.tar.bz2
Download MD5 sum: 370a6340ff20366ab088012cd13f2b57
Download size: 144 KB
Estimated disk space required: 3.2 MB
Estimated build time: less than 0.1 SBU
Apr-Util-1.6.3 and SCons-4.4.0
MIT Kerberos V5-1.20.1, for the GSSAPI
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/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
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.