I am manually building httpd-2.2.17 from the source. Just to make sure I have the configuration options right, I checked the latest CENTOS apache srpm (which is for httpd-2.2.3). In the httpd.spec I find this line:

# forcibly prevent use of bundled apr, apr-util, pcre
rm -rf srclib/{apr,apr-util,pcre}

I was wondering why this is required ? What's wrong with using the apr included within the default httpd source ?

  • "apache" is the name of the software foundation. "httpd" is the name of the product Apache HTTP Daemon. What you are trying to build is the httpd-2.2.17 (the same name you should have found in the tarball you downloaded from the FTP), and not apache-2.2.17 (which doesn't exist). – Juliano Jan 20 '11 at 18:34

That's there because the apache RPM spec file has a "BuildRequire" for apr-devel, apr-util-devel and pcre-devel packages, and the packager wanted the build to use the packaged version rather than what's bundled in the apache tarball.

For what it's worth, here's the change that was made to add that line, perhaps that'll help answer your question: link text

That's an edit from 6 years ago, so it's not identical to a current package, but you can see elsewhere in the patch how using the apr-config from the packaged version of apr-devel is added.


They are packaged together for convenience to the user. In a distro-maintened system, there are many other software that uses apr, apr-util and pcre, and it makes sense to install them separately. Installing them separately saves memory (because you have only one copy of the library functions and data in memory) and is easier to upgrade (specially for security updates), since you don't have to redownload and reinstall all software that embedded those libraries.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.