$ cat /etc/issue
$ Red Hat Enterprise Linux AS release 3 (Taroon)
先编译好apache,加上 --enable-module=so --enable-module=rewrite 参数
然后build resin-2.1.13。
在该版本的linux上编译resin-2*会提示
$ make
[...]
/usr/include/openssl/kssl.h:169: syntax error before "enctype"
In file included from spamc/utils.h:28,
from spamc/libspamc.c:20:
/usr/include/openssl/ssl.h:909: syntax error before "KSSL_CTX"
/usr/include/openssl/ssl.h:931: syntax error before '}' token
In file included from /usr/include/openssl/ssl.h:179,
from spamc/utils.h:28,
from spamc/utils.c:40:
/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 spamc/utils.h:28,
from spamc/utils.c:40:
/usr/include/openssl/kssl.h:134: syntax error before "krb5_enctype"
/usr/include/openssl/kssl.h:136: syntax error before '*' token
/usr/include/openssl/kssl.h:137: syntax error before '}' token
/usr/include/openssl/kssl.h:149: syntax error before "kssl_ctx_setstring"
/usr/include/openssl/kssl.h:149: syntax error before '*' token
/usr/include/openssl/kssl.h:150: syntax error before '*' token
[...]
产生问题原因:
In this case, the Kerberos include files are in /usr/kerberos/include, so you need to modify the make line appropriately:
解决方法:
The solution is to either add the Kerberos headers to gcc's header search path, or prevent OpenSSL from trying to use the Kerberos includes in the first place. To tell OpenSSL you really don't want kerberos, just run
export LOCALDEFS="-DOPENSSL_NO_KRB5"
(as suggested by Ken Murchison on info-cyrus) before you run ./configure. Alternately, you can tell gcc where to find the Kerberos includes so that it'll stop complaining:
export C_INCLUDE_PATH="/usr/kerberos/include"
If neither of these work, make sure you have the Kerberos development libraries installed ( you should have if you have openssl-devel, but one never does know ...). If you run rpm -q openssl-devel krb5-devel you should get a result like:
openssl-devel-0.9.7a-23
krb5-devel-1.3.1-6
博客主要讲述在Red Hat Enterprise Linux AS release 3系统上,编译resin-2.1.13时出现openssl相关头文件语法错误及文件找不到的问题。分析原因是Kerberos包含文件路径问题,给出两种解决方法,一是设置环境变量不使用Kerberos,二是指定Kerberos包含文件路径。

被折叠的 条评论
为什么被折叠?



