It is true there is no file pcre.h. but I do have a pcre2.h You need PCRE, not PCRE2. They are not compatible each other.
Clean up your /usr/local/pcre directory, also remove any symlink you've manually created on /usr/include!! Download PCRE from here: https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz (https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz) and compile with: ./configure --prefix=/usr/local/pcre --enable-utf --enable-unicode-properties make make install Then, go to your apache httpd source dir and run: make clean ./configure --with-pcre=/usr/local/pcre --with-included-apr ... # Feel free to add other options to your configure. In my case I generally compile apache with: ./configure --with-included-apr --with-crypto --prefix=/usr/local/apache24 --enable-mods-shared=most --enable-ssl --enable-proxy --enable-proxy-connect --enable-proxy-http --enable-proxy-balancer --enable-cache --enable-disk-cache --enable-mem-cache --with-ssl=/usr --with-openssl=/usr --with-devrandom=/dev/urandom --with-pcre=/usr/local/pcre make make install Enjoy your apache at /usr/local/apache24. NOTE: If you are on centos / redhat (7+), you could avoid compile PCRE from source. Just need to: yum install pcre-devel openssl-devel expat-devel Then use --with-pcre=/usr on your apache configure string. HTH. Ciao, Dino.