Apache Httpd Build from source: fatal error: expat.h: No such file or directory
Do you have the expat
library installed? (Because that's where the expat.h
comes from.)
- https://libexpat.github.io/
If you cannot install it globally to the system, I'm sure Apache's ./configure
script must have an option to support a custom location for the library as well.
For anyone else coming across this:
OP had to do this because they didn't have sudo
access. If you do, usually you don't need to download the source of expat
manually; installing via package manager is way easier. Unless the software you are compiling requires a newer version of expat
than your RPM repos provide.
So for the RHEL family of OSes you can just do sudo <dnf|yum> install expat expat-devel
, then proceed with what you were compiling.
Download expat-2.2.6.tar.bz2 from https://libexpat.github.io/.
Extract expat using following command
tar xvjf expat-2.2.6.tar.bz2 -C /path-to-dir
Change to the extracted expat directory.
Build expat using following commands
./configure --prefix=/path-to-expat-installation-dir
make
make install
While building Apache Httpd from source specify --with-expat
./configure --with-included-apr --prefix=/path-to-apache-installation --with-expat=/path-to-expat-installation-dir