LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 769|回复: 2

为什么编译不了RESIN的mod_caucho?

[复制链接]
发表于 2005-4-16 12:39:01 | 显示全部楼层 |阅读模式
我的系统是FC1,httpd是FC系统自带的RPM包安装的,版本号是:2.0.47-10
我安装了下面的三个个RPM:httpd-devel-2.0.47-10,httpd-manual-2.0.47-10,httpd-2.0.47-10并已经正确安装了J2SDK。

下载并解压了resin-3.0.4.tar.gz包之后,把该目录联接到/usr/local/resin,运行
[root@localhost resin]# ./configure --with-apxs=/usr/sbin/apxs --with--apache-libexec=/etc/httpd/modules/,然而我却无法编译出mod_caucho。

checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sys/poll.h usability... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
Using shared library flags from /usr/sbin/apxs
Using Apache configuration /etc/httpd/conf/httpd.conf
Using Apache CFLAGS: -O2 -g -pipe -march=i386 -mcpu=i686 -DSSL_EXPERIMENTAL_ENGINE -I/usr/kerberos/include
checking for JAVA_HOME...
/usr/local/java
checking for JNI in /usr/local/java/include/linux ... found
configure: creating ./config.status
config.status: creating Makefile
config.status: creating bin/wrapper.pl
config.status: creating src/c/plugin/Makefile
config.status: creating src/c/plugin/common/Makefile
config.status: creating src/c/plugin/apache/Makefile
config.status: creating src/c/plugin/apache2/Makefile
config.status: creating src/c/plugin/resin/Makefile
config.status: creating src/c/plugin/resinssl/Makefile
config.status: creating contrib/init.resin
config.status: executing depfiles commands

接下来输入make之后,显示错误如下,好象是apache的某些头文件有错误:
[root@localhost resin]# make
(cd src/c/plugin; make)
make[1]: Entering directory `/tmp/resin-3.0.4/src/c/plugin'
for dir in common apache resin resinssl; do (cd $dir; make); done
make[2]: Entering directory `/tmp/resin-3.0.4/src/c/plugin/common'
gcc -c  -g -O2 -DPOLL stream.c
gcc -c  -g -O2 -DPOLL registry.c
gcc -c  -g -O2 -DPOLL config.c
gcc -c  -g -O2 -DPOLL memory.c
/usr/bin/ld -r -o common.o stream.o registry.o config.o memory.o
gcc -c  -g -O2 -DPOLL -fpic stream.c && mv stream.o stream.lo
gcc -c  -g -O2 -DPOLL -fpic registry.c && mv registry.o registry.lo
gcc -c  -g -O2 -DPOLL -fpic config.c && mv config.o config.lo
gcc -c  -g -O2 -DPOLL -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]: Leaving directory `/tmp/resin-3.0.4/src/c/plugin/common'
make[2]: Entering directory `/tmp/resin-3.0.4/src/c/plugin/apache'
gcc -c -I/usr/include/httpd -DRESIN_HOME=\"/usr/local/resin\" -I../common -g -O2 -DPOLL -O2 -g -pipe -march=i386 -mcpu=i686 -DSSL_EXPERIMENTAL_ENGINE -I/usr/kerberos/include -fpic mod_caucho.c && mv mod_caucho.o mod_caucho.lo
In file included from /usr/include/httpd/httpd.h:72,
                 from mod_caucho.c:46:
/usr/include/httpd/ap_config.h:58:17: apr.h: 没有那个文件或目录
/usr/include/httpd/ap_config.h:59:23: apr_hooks.h: 没有那个文件或目录
/usr/include/httpd/ap_config.h:60:32: apr_optional_hooks.h: 没有那个文件或目录
In file included from /usr/include/httpd/ap_config.h:267,
                 from /usr/include/httpd/httpd.h:72,
                 from mod_caucho.c:46:
/usr/include/httpd/os.h:62:17: apr.h: 没有那个文件或目录
In file included from mod_caucho.c:46:
/usr/include/httpd/httpd.h:77:25: apr_general.h: 没有那个文件或目录
/usr/include/httpd/httpd.h:78:24: apr_tables.h: 没有那个文件或目录
/usr/include/httpd/httpd.h:79:23: apr_pools.h: 没有那个文件或目录
/usr/include/httpd/httpd.h:80:22: apr_time.h: 没有那个文件或目录
/usr/include/httpd/httpd.h:81:28: apr_network_io.h: 没有那个文件或目录
/usr/include/httpd/httpd.h:82:25: apr_buckets.h: 没有那个文件或目录
In file included from mod_caucho.c:46:
/usr/include/httpd/httpd.h:416: error: syntax error before '*' token
/usr/include/httpd/httpd.h:576: error: syntax error before "apr_int64_t"
/usr/include/httpd/httpd.h:576: warning: no semicolon at end of struct or union
/usr/include/httpd/httpd.h:578: warning: data definition has no type or storage class
/usr/include/httpd/httpd.h:579: error: syntax error before '}' token
/usr/include/httpd/httpd.h:690:21: apr_uri.h: 没有那个文件或目录
/usr/include/httpd/httpd.h:695: error: syntax error before "apr_pool_t"
/usr/include/httpd/httpd.h:695: warning: no semicolon at end of struct or union
/usr/include/httpd/httpd.h:697: warning: data definition has no type or storage class
/usr/include/httpd/httpd.h:704: error: syntax error before '}' token
/usr/include/httpd/httpd.h:709: error: syntax error before "apr_pool_t"
/usr/include/httpd/httpd.h:709: warning: no semicolon at end of struct or union
/usr/include/httpd/httpd.h:745: error: syntax error before "request_time"
/usr/include/httpd/httpd.h:745: warning: data definition has no type or storage class
In file included from mod_caucho.c:47:
/usr/include/httpd/http_config.h:62:23: apr_hooks.h: 没有那个文件或目录
In file included from mod_caucho.c:47:
/usr/include/httpd/http_config.h:305: error: syntax error before "apr_int64_t"
/usr/include/httpd/http_config.h:305: warning: no semicolon at end of struct or union
/usr/include/httpd/http_config.h:307: warning: data definition has no type or storage class
/usr/include/httpd/http_config.h:317: error: syntax error before '*' token
In file included from mod_caucho.c:48:
/usr/include/httpd/http_request.h:62:23: apr_hooks.h: 没有那个文件或目录
In file included from /usr/include/httpd/http_request.h:63,
                 from mod_caucho.c:48:
/usr/include/httpd/util_filter.h:58:17: apr.h: 没有那个文件或目录
/usr/include/httpd/util_filter.h:59:25: apr_buckets.h: 没有那个文件或目录
In file included from /usr/include/httpd/http_request.h:63,
                 from mod_caucho.c:48:
/usr/include/httpd/util_filter.h:110: warning: data definition has no type or storage class
/usr/include/httpd/util_filter.h:173: error: syntax error before '*' token
/usr/include/httpd/util_filter.h:174: error: syntax error before "apr_bucket_brigade"
In file included from mod_caucho.c:48:
/usr/include/httpd/http_request.h:151: error: syntax error before '*' token
/usr/include/httpd/http_request.h:178: error: syntax error before "apr_bucket_brigade"
/usr/include/httpd/http_request.h:178: error: `ap_sub_req_output_filter' declared as function returning a function
/usr/include/httpd/http_request.h:253: error: syntax error before "apr_time_t"
/usr/include/httpd/http_request.h:315: error: syntax error before "int"
In file included from mod_caucho.c:49:
/usr/include/httpd/http_core.h:62:17: apr.h: 没有那个文件或目录
/usr/include/httpd/http_core.h:63:22: apr_hash.h: 没有那个文件或目录
/usr/include/httpd/http_core.h:64:26: apr_optional.h: 没有那个文件或目录
In file included from mod_caucho.c:49:
/usr/include/httpd/http_core.h:223: error: syntax error before '*' token
/usr/include/httpd/http_core.h:239: error: syntax error before "ap_get_server_port"
/usr/include/httpd/http_core.h:239: warning: data definition has no type or storage class
/usr/include/httpd/http_core.h:247: error: syntax error before "ap_get_limit_req_body"
/usr/include/httpd/http_core.h:247: warning: data definition has no type or storage class
In file included from mod_caucho.c:50:
/usr/include/httpd/http_protocol.h:63:23: apr_hooks.h: 没有那个文件或目录
/usr/include/httpd/http_protocol.h:64:26: apr_portable.h: 没有那个文件或目录
/usr/include/httpd/http_protocol.h:65:22: apr_mmap.h: 没有那个文件或目录
/usr/include/httpd/http_protocol.h:66:25: apr_buckets.h: 没有那个文件或目录
In file included from mod_caucho.c:50:
In file included from mod_caucho.c:51:
/usr/include/httpd/http_log.h:66:29: apr_thread_proc.h: 没有那个文件或目录
In file included from mod_caucho.c:51:
/usr/include/httpd/http_log.h:139: error: syntax error before '*' token
/usr/include/httpd/http_log.h:146: error: syntax error before '*' token
/usr/include/httpd/http_log.h:147: error: `ap_replace_stderr_log' declared as function returning a function
In file included from mod_caucho.c:52:
/usr/include/httpd/http_main.h:62:26: apr_optional.h: 没有那个文件或目录
In file included from mod_caucho.c:52:
/usr/include/httpd/http_main.h:86: error: syntax error before '*' token
/usr/include/httpd/http_main.h:86: warning: data definition has no type or storage class
/usr/include/httpd/http_main.h:89: error: syntax error before '*' token
/usr/include/httpd/http_main.h:89: warning: data definition has no type or storage class
In file included from mod_caucho.c:53:
/usr/include/httpd/util_script.h:88: error: syntax error before '*' token
/usr/include/httpd/util_script.h:127: error: syntax error before "apr_file_t"
/usr/include/httpd/util_script.h:141: error: syntax error before "apr_bucket_brigade"
In file included from mod_caucho.c:61:
../common/cse.h:313: error: syntax error before '*' token
mod_caucho.c:67: error: syntax error before "caucho_module"
mod_caucho.c:67: warning: data definition has no type or storage class
mod_caucho.c: In function `cse_error':
mod_caucho.c:139: error: `va_list' undeclared (first use in this function)
mod_caucho.c:139: error: (Each undeclared identifier is reported only once
mod_caucho.c:226: error: dereferencing pointer to incomplete type
mod_caucho.c:226: error: request for member `module_index' in something not a structure or union
mod_caucho.c: In function `cse_get_cmd_config':
mod_caucho.c:238: error: dereferencing pointer to incomplete type
mod_caucho.c:238: error: request for member `module_index' in something not a structure or union
mod_caucho.c:243: error: dereferencing pointer to incomplete type
mod_caucho.c:1212: warning: initialization makes integer from pointer without a cast
mod_caucho.c:1216: warning: initialization makes integer from pointer without a cast
mod_caucho.c:1217: warning: initialization from incompatible pointer type
mod_caucho.c:1218: warning: initialization from incompatible pointer type
mod_caucho.c:1222: warning: initialization from incompatible pointer type
mod_caucho.c:1224: warning: excess elements in struct initializer
mod_caucho.c:1224: warning: (near initialization for `caucho_module')
mod_caucho.c:1225: warning: excess elements in struct initializer
mod_caucho.c:1225: warning: (near initialization for `caucho_module')
mod_caucho.c:1226: warning: excess elements in struct initializer
mod_caucho.c:1226: warning: (near initialization for `caucho_module')
mod_caucho.c:1227: warning: excess elements in struct initializer
mod_caucho.c:1227: warning: (near initialization for `caucho_module')
mod_caucho.c:1228: warning: excess elements in struct initializer
mod_caucho.c:1228: warning: (near initialization for `caucho_module')
make[2]: *** [mod_caucho.lo] Error 1
make[2]: Leaving directory `/tmp/resin-3.0.4/src/c/plugin/apache'
make[2]: Entering directory `/tmp/resin-3.0.4/src/c/plugin/resin'
gcc -g -O2 -DPOLL -DRESIN_HOME=\"/usr/local/resin\" -I/usr/local/java/include -I/usr/local/java/include/linux -I../common -DCPU=\"i386\" -DOS=   -c -o std.o std.c
gcc -g -O2 -DPOLL -DRESIN_HOME=\"/usr/local/resin\" -I/usr/local/java/include -I/usr/local/java/include/linux -I../common -DCPU=\"i386\" -DOS=   -c -o memory.o memory.c
gcc -g -O2 -DPOLL -DRESIN_HOME=\"/usr/local/resin\" -I/usr/local/java/include -I/usr/local/java/include/linux -I../common -DCPU=\"i386\" -DOS=   -c -o jni_vfs.o jni_vfs.c
gcc -g -O2 -DPOLL -DRESIN_HOME=\"/usr/local/resin\" -I/usr/local/java/include -I/usr/local/java/include/linux -I../common -DCPU=\"i386\" -DOS=   -c -o java.o java.c
/usr/bin/ld -shared -o libresin.so std.o memory.o jni_vfs.o java.o -lpthread -lssl -lcrypto
make[2]: Leaving directory `/tmp/resin-3.0.4/src/c/plugin/resin'
make[2]: Entering directory `/tmp/resin-3.0.4/src/c/plugin/resinssl'
gcc -g -O2 -DPOLL -DRESIN_HOME=\"/usr/local/resin\" -I/usr/local/java/include -I/usr/local/java/include/linux -I../common -I../resin -DCPU=\"i386\" -DOS=    -c -o ssl_stub.o ssl_stub.c
/usr/bin/ld -shared -o libresinssl.so ssl_stub.o ../resin/memory.o ../resin/std.o ../resin/java.o -lpthread -lssl -lcrypto
make[2]: Leaving directory `/tmp/resin-3.0.4/src/c/plugin/resinssl'
make[1]: Leaving directory `/tmp/resin-3.0.4/src/c/plugin'
[root@localhost resin]#[root@localhost resin]# make
(cd src/c/plugin; make)
make[1]: Entering directory `/tmp/resin-3.0.4/src/c/plugin'
for dir in common apache resin resinssl; do (cd $dir; make); done
make[2]: Entering directory `/tmp/resin-3.0.4/src/c/plugin/common'
gcc -c  -g -O2 -DPOLL stream.c
gcc -c  -g -O2 -DPOLL registry.c
gcc -c  -g -O2 -DPOLL config.c
gcc -c  -g -O2 -DPOLL memory.c
/usr/bin/ld -r -o common.o stream.o registry.o config.o memory.o
gcc -c  -g -O2 -DPOLL -fpic stream.c && mv stream.o stream.lo
gcc -c  -g -O2 -DPOLL -fpic registry.c && mv registry.o registry.lo
gcc -c  -g -O2 -DPOLL -fpic config.c && mv config.o config.lo
gcc -c  -g -O2 -DPOLL -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]: Leaving directory `/tmp/resin-3.0.4/src/c/plugin/common'
make[2]: Entering directory `/tmp/resin-3.0.4/src/c/plugin/apache'
gcc -c -I/usr/include/httpd -DRESIN_HOME=\"/usr/local/resin\" -I../common -g -O2 -DPOLL -O2 -g -pipe -march=i386 -mcpu=i686 -DSSL_EXPERIMENTAL_ENGINE -I/usr/kerberos/include -fpic mod_caucho.c && mv mod_caucho.o mod_caucho.lo
In file included from /usr/include/httpd/httpd.h:72,
                 from mod_caucho.c:46:
/usr/include/httpd/ap_config.h:58:17: apr.h: 没有那个文件或目录
/usr/include/httpd/ap_config.h:59:23: apr_hooks.h: 没有那个文件或目录
/usr/include/httpd/ap_config.h:60:32: apr_optional_hooks.h: 没有那个文件或目录
In file included from /usr/include/httpd/ap_config.h:267,
                 from /usr/include/httpd/httpd.h:72,
                 from mod_caucho.c:46:
/usr/include/httpd/os.h:62:17: apr.h: 没有那个文件或目录
In file included from mod_caucho.c:46:
/usr/include/httpd/httpd.h:77:25: apr_general.h: 没有那个文件或目录
/usr/include/httpd/httpd.h:78:24: apr_tables.h: 没有那个文件或目录
/usr/include/httpd/httpd.h:79:23: apr_pools.h: 没有那个文件或目录
/In file included from mod_caucho.c:46:
/usr/include/httpd/httpd.h:416: error: syntax error before '*' token
/usr/include/httpd/httpd.h:576: error: syntax error before "apr_int64_t"
/usr/include/httpd/httpd.h:576: warning: no semicolon at end of struct or union
/usr/include/httpd/httpd.h:578: warning: data definition has no type or storage class
/usr/include/httpd/httpd.h:579: error: syntax error before '}' token
make[2]: Leaving directory `/tmp/resin-3.0.4/src/c/plugin/apache'
make[2]: Entering directory `/tmp/resin-3.0.4/src/c/plugin/resin'
gcc -g -O2 -DPOLL -DRESIN_HOME=\"/usr/local/resin\" -I/usr/local/java/include -I/usr/local/java/include/linux -I../common -DCPU=\"i386\" -DOS=   -c -o std.o std.c
gcc -g -O2 -DPOLL -DRESIN_HOME=\"/usr/local/resin\" -I/usr/local/java/include -I/usr/local/java/include/linux -I../common -DCPU=\"i386\" -DOS=   -c -o memory.o memory.c
gcc -g -O2 -DPOLL -DRESIN_HOME=\"/usr/local/resin\" -I/usr/local/java/include -I/usr/local/java/include/linux -I../common -DCPU=\"i386\" -DOS=   -c -o jni_vfs.o jni_vfs.c
gcc -g -O2 -DPOLL -DRESIN_HOME=\"/usr/local/resin\" -I/usr/local/java/include -I/usr/local/java/include/linux -I../common -DCPU=\"i386\" -DOS=   -c -o java.o java.c
/usr/bin/ld -shared -o libresin.so std.o memory.o jni_vfs.o java.o -lpthread -lssl -lcrypto
make[2]: Leaving directory `/tmp/resin-3.0.4/src/c/plugin/resin'
make[2]: Entering directory `/tmp/resin-3.0.4/src/c/plugin/resinssl'
gcc -g -O2 -DPOLL -DRESIN_HOME=\"/usr/local/resin\" -I/usr/local/java/include -I/usr/local/java/include/linux -I../common -I../resin -DCPU=\"i386\" -DOS=    -c -o ssl_stub.o ssl_stub.c
/usr/bin/ld -shared -o libresinssl.so ssl_stub.o ../resin/memory.o ../resin/std.o ../resin/java.o -lpthread -lssl -lcrypto
make[2]: Leaving directory `/tmp/resin-3.0.4/src/c/plugin/resinssl'
make[1]: Leaving directory `/tmp/resin-3.0.4/src/c/plugin'
[root@localhost resin]#

然后我make install,运行bin/httpd.sh可以看到RESIN仍然可以正常启动,而且通过IE可以浏览到其8080端口。但就是mod_caucho这个模块编译出错,为什么啊?

请帮忙啊!谢谢!
发表于 2005-4-16 14:15:47 | 显示全部楼层
yum install httpd-devel
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-16 16:21:46 | 显示全部楼层
我已经装了devel包的。可是问题依旧。郁闷!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表