기술지원 문의

openssl 과 관련된 에러가 아닐까요...config 까지만 됨
임경호 / 2003-06-29 00:00

바로 전에 물음하고 비슷한데...resin 에서 redhat 9.0 에서 지원하는 openssl 을 수용하지 못하는것이 아닐까요..
wowlinux 7.3 에서는 잘 되던것이 redhat 9 에서는 이런 에러가 나니...resin 문제가 심각한거 같군요...
뭔가 패치가 되어야지 되지 않을 까요..

참고로 apache 를 소스로 설치 않고 rpm 설치하면 configure 시 --with-apxs or --with-apache 하면 경로를 못찾더군요..(--with-apache=(httpd.conf 에있는 serverRoot를 지정) 해도 못?O던데요..)


환경 : redhat 9.0

apache 설치는 잘 되었구요(2.0.45)
아파치와 연동하려구 resin을 cofigure(configure --with-apxs=/usr/local/apache/bin/apxs) 까지는 잘 되었는데 make 에서 다음과 같은 에러가 나내요.

> make

(cd src/c/plugin; make)
make[1]: 들어감 `/home/test/resin-2.1.8/src/c/plugin 디렉토리
for dir in common apache2 resin; do (cd $dir; make); done
make[2]: 들어감 `/home/test/resin-2.1.8/src/c/plugin/common 디렉토리
gcc -c -I/usr/include -g -O2 stream.c
gcc -c -I/usr/include -g -O2 registry.c
gcc -c -I/usr/include -g -O2 config.c
gcc -c -I/usr/include -g -O2 memory.c
/usr/bin/ld -r -o common.o stream.o registry.o config.o memory.o
gcc -c -I/usr/include -g -O2 -fpic stream.c && mv stream.o stream.lo
gcc -c -I/usr/include -g -O2 -fpic registry.c && mv registry.o registry.lo
gcc -c -I/usr/include -g -O2 -fpic config.c && mv config.o config.lo
gcc -c -I/usr/include -g -O2 -fpic memory.c && mv memory.o memory.lo
/usr/bin/ld -r -o common.lo stream.lo registry.lo config.lo memory.lo
make[2]: 나감 `/home/test/resin-2.1.8/src/c/plugin/common 디렉토리
make[2]: 들어감 `/home/test/resin-2.1.8/src/c/plugin/apache2 디렉토리
gcc -c -I/usr/local/apache/include -DRESIN_HOME=\\\"/home/test/resin-2.1.8\\\" -I../common -g -O2 -fpic mod_caucho.c && mv mod_caucho.o mod_caucho.lo
/usr/bin/ld -o mod_caucho.so -shared mod_caucho.lo ../common/stream.lo ../common/registry.lo ../common/config.lo ../common/memory.lo
make[2]: 나감 `/home/test/resin-2.1.8/src/c/plugin/apache2 디렉토리
make[2]: 들어감 `/home/test/resin-2.1.8/src/c/plugin/resin 디렉토리
gcc -g -O2 -DRESIN_HOME=\\\"/home/test/resin-2.1.8\\\" -I/usr/include -I/usr/local/j2se/include -I/usr/local/j2se/include/linux -I../common -DCPU=\\\"i386\\\" -DOS=  -DSSL_ENGINE   -c -o resin.o resin.c
gcc -g -O2 -DRESIN_HOME=\\\"/home/test/resin-2.1.8\\\" -I/usr/include -I/usr/local/j2se/include -I/usr/local/j2se/include/linux -I../common -DCPU=\\\"i386\\\" -DOS=  -DSSL_ENGINE   -c -o std.o std.c
gcc -g -O2 -DRESIN_HOME=\\\"/home/test/resin-2.1.8\\\" -I/usr/include -I/usr/local/j2se/include -I/usr/local/j2se/include/linux -I../common -DCPU=\\\"i386\\\" -DOS=  -DSSL_ENGINE   -c -o memory.o memory.c
gcc -g -O2 -DRESIN_HOME=\\\"/home/test/resin-2.1.8\\\" -I/usr/include -I/usr/local/j2se/include -I/usr/local/j2se/include/linux -I../common -DCPU=\\\"i386\\\" -DOS=  -DSSL_ENGINE   -c -o ssl.o ssl.c
In file included from /usr/include/openssl/ssl.h:179,
                 from ssl.c:62:
/usr/include/openssl/kssl.h:72:18: krb5.h: 그런 파일이나 디렉토리가 없음
In file included from /usr/include/openssl/ssl.h:179,
                 from ssl.c:62:
/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
/usr/include/openssl/kssl.h:148: parse error before * token
/usr/include/openssl/kssl.h:149: parse error before * token
/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 \"kssl_ctx_setprinc\"
/usr/include/openssl/kssl.h:151: parse error before * token
/usr/include/openssl/kssl.h:153: parse error before \"kssl_cget_tkt\"
/usr/include/openssl/kssl.h:153: parse error before * token
/usr/include/openssl/kssl.h:155: parse error before \"kssl_sget_tkt\"
/usr/include/openssl/kssl.h:155: parse error before * token
/usr/include/openssl/kssl.h:157: parse error before \"kssl_ctx_setkey\"
/usr/include/openssl/kssl.h:157: parse error before * token
/usr/include/openssl/kssl.h:159: parse error before \"context\"
/usr/include/openssl/kssl.h:160: parse error before \"kssl_build_principal_2\"
/usr/include/openssl/kssl.h:160: parse error before \"context\"
/usr/include/openssl/kssl.h:163: parse error before \"kssl_validate_times\"
/usr/include/openssl/kssl.h:163: parse error before \"atime\"
/usr/include/openssl/kssl.h:165: parse error before \"kssl_check_authent\"
/usr/include/openssl/kssl.h:165: parse error before * token
/usr/include/openssl/kssl.h:167: parse error before \"enctype\"
In file included from ssl.c:62:
/usr/include/openssl/ssl.h:909: parse error before \"KSSL_CTX\"
/usr/include/openssl/ssl.h:931: parse error before } token
make[2]: *** [ssl.o] 오류 1
make[2]: 나감 `/home/test/resin-2.1.8/src/c/plugin/resin 디렉토
make[1]: *** [plugins] 오류 2
make[1]: 나감 `/home/test/resin-2.1.8/src/c/plugin 디렉토
make: *** [all] 오류 2

이런식으로 않하고 그냥 resin 만 실행하면 잘 됩니다(http://localhost:8080 ==> ok)

Re:openssl 과 관련된 에러가 아닐까요...config 까지만 됨
관리자 / 2003-06-30 00:00

redhat 9.0에서 테스트해보지 않아 
딱히 말씀드릴 만한 상황이 아니지만
redhat 9.0은 openssl의 0.9.7대 버전이 설치되는 것 같은데
이 버전은 기본적으로 MIT kerberos를 지원하는 모양입니다

그런데 밑의 에러를 보면 ssl.c(resin소스)에서 include한
kssl.h(openssl 0.9.7대 header파일)에서 다시 include하는
krb5.h를 못찾는 다는 것인데... 요놈은 kerberos의 개발자 
라이브러리에 포함되어 있습니다. 
즉 kerberos 개발라이브러리가
잘 설치되어 있는지 확인해야 할 것 같구요.

또한 제가 자료를 좀 찾아보니까 정확히 관련이 있는지는 모르겠는데
redhat 9.0의 openssl을 patch해야한다는 이야기가 있어서
밑의 내용에 첨부하오니 참고하세요.

************************
 openssl depending on kerberos (was: RedHat 9 and Nessus 2.0.3) 
************************
 Forum:   SecurePoint - Nessus Archive 
 Date:      Apr 07, 04:07 
 From:      Axel Thimm  

On Fri, Apr 04, 2003 at 11:37:54AM -0500, Discini, Sonny wrote:
> Has anyone had difficulties compiling nessus 2.0.3 on RedHat 9.0? I have
> a fresh install of RH 9.0 and I downloaded 2.0.3 and ran it. While
> compiling, I received an error message that allowed me to dump out to a
> log file.

Openssl, as shiped with Red Hat 9 ist built against kerberos. Attached is a
dirty patch to configure.in to detect that (you need to run autoconf-2.13
afterwards). I dont know, if this is Red Hat specific, or whether openssl
0.9.7b can be configured to be run against kerberos.

Another workaround would be to define OPENSSL_NO_KRB5 in nessus builds.
--=20
Axel.Thimm@physik.fu-berlin.de

--- nessus-libraries/configure.in.krb5 2003-04-02 14:50:50.000000000 +0200
+++ nessus-libraries/configure.in 2003-04-06 23:16:00.000000000 +0200
@@ -263,8 +263,14 @@
    cipher_cflags=3D\"-DNESSUS_ON_SSL\"
    }
   }
- =09
- =09
+
+# Check whether openssl is linked against kerberos 5
+test -n \"$with_ssl\" \\
+ && test -r $with_ssl/include/openssl/kssl.h \\
+ && test -r $with_ssl/kerberos/include/krb5.h \\
+ && sslcflags=3D\"$sslcflags -I$with_ssl/kerberos/include\" \\
+ && ssl=3D\"$ssl -L$with_ssl/kerberos/lib\"
+
=20
 test -n \"$forcessl\" -a -z \"$with_ssl\" && AC_ERROR(\"OpenSSL not found\")
=20


--- StripMime Report -- processed MIME parts ---
multipart/signed
  multipart/mixed
    text/plain (text body -- kept)
    text/plain (text body -- kept)
  application/pgp-signature
---
************************************* 



 



--임경호 님의 글 [2003-06-29 02:09:28]
>바로 전에 물음하고 비슷한데...resin 에서 redhat 9.0 에서 지원하는 openssl 을 수용하지 못하는것이 아닐까요..
wowlinux 7.3 에서는 잘 되던것이 redhat 9 에서는 이런 에러가 나니...resin 문제가 심각한거 같군요...
뭔가 패치가 되어야지 되지 않을 까요..

참고로 apache 를 소스로 설치 않고 rpm 설치하면 configure 시 --with-apxs or --with-apache 하면 경로를 못찾더군요..(--with-apache=(httpd.conf 에있는 serverRoot를 지정) 해도 못?던데요..)


환경 : redhat 9.0

apache 설치는 잘 되었구요(2.0.45)
아파치와 연동하려구 resin을 cofigure(configure --with-apxs=/usr/local/apache/bin/apxs) 까지는 잘 되었는데 make 에서 다음과 같은 에러가 나내요.

> make

(cd src/c/plugin; make)
make[1]: 들어감 `/home/test/resin-2.1.8/src/c/plugin 디렉토리
for dir in common apache2 resin; do (cd $dir; make); done
make[2]: 들어감 `/home/test/resin-2.1.8/src/c/plugin/common 디렉토리
gcc -c -I/usr/include -g -O2 stream.c
gcc -c -I/usr/include -g -O2 registry.c
gcc -c -I/usr/include -g -O2 config.c
gcc -c -I/usr/include -g -O2 memory.c
/usr/bin/ld -r -o common.o stream.o registry.o config.o memory.o
gcc -c -I/usr/include -g -O2 -fpic stream.c && mv stream.o stream.lo
gcc -c -I/usr/include -g -O2 -fpic registry.c && mv registry.o registry.lo
gcc -c -I/usr/include -g -O2 -fpic config.c && mv config.o config.lo
gcc -c -I/usr/include -g -O2 -fpic memory.c && mv memory.o memory.lo
/usr/bin/ld -r -o common.lo stream.lo registry.lo config.lo memory.lo
make[2]: 나감 `/home/test/resin-2.1.8/src/c/plugin/common 디렉토리
make[2]: 들어감 `/home/test/resin-2.1.8/src/c/plugin/apache2 디렉토리
gcc -c -I/usr/local/apache/include -DRESIN_HOME=\\\"/home/test/resin-2.1.8\\\" -I../common -g -O2 -fpic mod_caucho.c && mv mod_caucho.o mod_caucho.lo
/usr/bin/ld -o mod_caucho.so -shared mod_caucho.lo ../common/stream.lo ../common/registry.lo ../common/config.lo ../common/memory.lo
make[2]: 나감 `/home/test/resin-2.1.8/src/c/plugin/apache2 디렉토리
make[2]: 들어감 `/home/test/resin-2.1.8/src/c/plugin/resin 디렉토리
gcc -g -O2 -DRESIN_HOME=\\\"/home/test/resin-2.1.8\\\" -I/usr/include -I/usr/local/j2se/include -I/usr/local/j2se/include/linux -I../common -DCPU=\\\"i386\\\" -DOS=  -DSSL_ENGINE   -c -o resin.o resin.c
gcc -g -O2 -DRESIN_HOME=\\\"/home/test/resin-2.1.8\\\" -I/usr/include -I/usr/local/j2se/include -I/usr/local/j2se/include/linux -I../common -DCPU=\\\"i386\\\" -DOS=  -DSSL_ENGINE   -c -o std.o std.c
gcc -g -O2 -DRESIN_HOME=\\\"/home/test/resin-2.1.8\\\" -I/usr/include -I/usr/local/j2se/include -I/usr/local/j2se/include/linux -I../common -DCPU=\\\"i386\\\" -DOS=  -DSSL_ENGINE   -c -o memory.o memory.c
gcc -g -O2 -DRESIN_HOME=\\\"/home/test/resin-2.1.8\\\" -I/usr/include -I/usr/local/j2se/include -I/usr/local/j2se/include/linux -I../common -DCPU=\\\"i386\\\" -DOS=  -DSSL_ENGINE   -c -o ssl.o ssl.c
In file included from /usr/include/openssl/ssl.h:179,
                 from ssl.c:62:
/usr/include/openssl/kssl.h:72:18: krb5.h: 그런 파일이나 디렉토리가 없음
In file included from /usr/include/openssl/ssl.h:179,
                 from ssl.c:62:
/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
/usr/include/openssl/kssl.h:148: parse error before * token
/usr/include/openssl/kssl.h:149: parse error before * token
/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 \"kssl_ctx_setprinc\"
/usr/include/openssl/kssl.h:151: parse error before * token
/usr/include/openssl/kssl.h:153: parse error before \"kssl_cget_tkt\"
/usr/include/openssl/kssl.h:153: parse error before * token
/usr/include/openssl/kssl.h:155: parse error before \"kssl_sget_tkt\"
/usr/include/openssl/kssl.h:155: parse error before * token
/usr/include/openssl/kssl.h:157: parse error before \"kssl_ctx_setkey\"
/usr/include/openssl/kssl.h:157: parse error before * token
/usr/include/openssl/kssl.h:159: parse error before \"context\"
/usr/include/openssl/kssl.h:160: parse error before \"kssl_build_principal_2\"
/usr/include/openssl/kssl.h:160: parse error before \"context\"
/usr/include/openssl/kssl.h:163: parse error before \"kssl_validate_times\"
/usr/include/openssl/kssl.h:163: parse error before \"atime\"
/usr/include/openssl/kssl.h:165: parse error before \"kssl_check_authent\"
/usr/include/openssl/kssl.h:165: parse error before * token
/usr/include/openssl/kssl.h:167: parse error before \"enctype\"
In file included from ssl.c:62:
/usr/include/openssl/ssl.h:909: parse error before \"KSSL_CTX\"
/usr/include/openssl/ssl.h:931: parse error before } token
make[2]: *** [ssl.o] 오류 1
make[2]: 나감 `/home/test/resin-2.1.8/src/c/plugin/resin 디렉토
make[1]: *** [plugins] 오류 2
make[1]: 나감 `/home/test/resin-2.1.8/src/c/plugin 디렉토
make: *** [all] 오류 2

이런식으로 않하고 그냥 resin 만 실행하면 잘 됩니다(http://localhost:8080 ==> ok)