If you try to compile Apache (1.3.28) with mod_ssl, following the plain vanilla directions in the relevant sources, under Red Hat 9 (and using RH9's installation of openssl), you are likely to get an ugly error like this:
gcc -c -I../../os/unix -I../../include -DLINUX=22 -I/usr/include/gdbm -DMOD_SSL=208115 -DUSE_HSREGEX -DEAPI -fpic -DSHARED_CORE `../../apaci` -DSHARED_MODULE -DSSL_COMPAT -DSSL_USE_SDBM -DSSL_ENGINE -DMOD_SSL_VERSION="2.8.15" mod_ssl.c && mv mod_ssl.o mod_ssl.lo
from mod_ssl.h:116,
from mod_ssl.c:65:
/usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
In file included from /usr/include/openssl/ssl.h:179,
from mod_ssl.h:116,
from mod_ssl.c:65:
/usr/include/openssl/kssl.h:132: parse error before "krb5_enctype"
/usr/include/openssl/kssl.h:134: parse error before "FAR"
/usr/include/openssl/kssl.h:135: parse error before '}' token
/usr/include/openssl/kssl.h:147: parse error before "kssl_ctx_setstring"
/usr/include/openssl/kssl.h:147: parse error before '*' token
...
Apparently, this is due to a problem with the compiler adequately finding the kerberos part of the installed openssl package. To fix it, you can 1. make clean
your apache src dir, 2. place the following lines into your configure
script in the apache-1.3.xx directory, around line 96 (exact location not critical):
if pkg-config openssl; then
CFLAGS="$CFLAGS `pkg-config --cflags openssl`"
LDFLAGS="$LDFLAGS `pkg-config --libs-only-L openssl`"
fi
Many thanks to Matthias Saou for this solution, found at:
https://listman.redhat.com/archives/shrike-list/2003-April/msg00160.html