apache-serf cannot find `asm/socket.h`
Source: Troubleshooting reference
Symptom: a source build of apache-serf invokes a brewed GCC directly and
fails through Homebrew’s glibc headers:
glibc/include/bits/socket.h: fatal error: asm/socket.h: No such file or directoryRoot cause: Homebrew’s standard build environment already puts the installed
[email protected] include directory in CPATH. Serf’s SConstruct creates a
new SCons child environment that does not inherit that variable, so the direct
GCC command loses the kernel-header path. Adding the path to superenv or CPATH
again does not cross this second environment boundary.
Fix: install/patch-homebrew-apache-serf.sh adds a direct Linux dependency
on [email protected] and passes its stable opt_include path through Serf’s
supported CPPFLAGS SCons variable. The patch fails closed if the formula
structure changes instead of silently starting another known-broken source
build.
A trailing Clang warning about which GCC installation it may prefer is separate
from this GCC compile failure. Wait for any active Homebrew process to exit,
then rerun ~/dotfiles/bootstrap.sh upgrade so the refreshed formula is patched
before Bundle starts.