Compiling ejabberd Errors

I have successfully installed erlang,

Now when I try to install ejabberd I get the following errors
(./configure; make)

In file included from /usr/include/openssl/ssl.h:179,
from tls_drv.c:6:
/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 tls_drv.c:6:
/usr/include/openssl/kssl.h:134: parse error before "krb5_enctype"
/usr/include/openssl/kssl.h:136: parse error before '*' token
/usr/include/openssl/kssl.h:137: parse error before '}' token
/usr/include/openssl/kssl.h:149: parse error before "kssl_ctx_setstring"
/usr/include/openssl/kssl.h:149: parse error before '*' token
/usr/include/openssl/kssl.h:150: parse error before '*' token
/usr/include/openssl/kssl.h:151: parse error before '*' token
/usr/include/openssl/kssl.h:151: parse error before '*' token
/usr/include/openssl/kssl.h:152: parse error before '*' token
/usr/include/openssl/kssl.h:153: parse error before "kssl_ctx_setprinc"
/usr/include/openssl/kssl.h:153: parse error before '*' token
/usr/include/openssl/kssl.h:155: parse error before "kssl_cget_tkt"
/usr/include/openssl/kssl.h:155: parse error before '*' token
/usr/include/openssl/kssl.h:157: parse error before "kssl_sget_tkt"
/usr/include/openssl/kssl.h:157: parse error before '*' token
/usr/include/openssl/kssl.h:159: parse error before "kssl_ctx_setkey"
/usr/include/openssl/kssl.h:159: parse error before '*' token
/usr/include/openssl/kssl.h:161: parse error before "context"
/usr/include/openssl/kssl.h:162: parse error before "kssl_build_principal_2"
/usr/include/openssl/kssl.h:162: parse error before "context"
/usr/include/openssl/kssl.h:165: parse error before "kssl_validate_times"
/usr/include/openssl/kssl.h:165: parse error before "atime"
/usr/include/openssl/kssl.h:167: parse error before "kssl_check_authent"
/usr/include/openssl/kssl.h:167: parse error before '*' token
/usr/include/openssl/kssl.h:169: parse error before "enctype"
In file included from tls_drv.c:6:
/usr/include/openssl/ssl.h:909: parse error before "KSSL_CTX"
/usr/include/openssl/ssl.h:931: parse error before '}' token
make[1]: *** [../tls_drv.so] Error 1
make[1]: Leaving directory `/home/getproxy/ejabberd-0.9.1/src/tls'
make: *** [all-recursive] Error 1

Files Exist

I have found the files

krb5.h
profile.h
com_err.h
and config.h

and moved them into the same directory as src but I still get the problem

Compile on Red Hat

I used this command to get it to compile on a RHEL3 system.

./configure CFLAGS='-I/usr/local/ssl/include' CCFLAGS='-I-I/usr/local/ssl/include' CPPFLAGS='-I/usr/kerberos/include -I/usr/local/ssl/include' LDFLAGS='-L/usr/kerberos/lib -L/usr/local/ssl/lib' --with-openssl=/usr/local/ssl/

You might need more flags

Are you, by any chance, using Red Hat?

Red Hat's version of OpenSSL needs Kerberos libraries. You can get all the right flags with:

./configure CPPFLAGS=`pkg-config openssl --cflags` CFLAGS=`pkg-config openssl --cflags` LDFLAGS=`pkg-config openssl --libs`

(all that on one line)

That should

That should be

CPPFLAGS=`pkg-config openssl --cflags` CFLAGS=`pkg-config openssl --cflags` LDFLAGS=`pkg-config openssl --libs` ./configure

followed by any other flags you want. Thanks for the tip though. It worked for me.

Oktay

Syndicate content