找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4652|回复: 3

急急急!!!请大侠帮忙!

[复制链接]
发表于 2009-7-10 13:25:28 | 显示全部楼层 |阅读模式
我在linux下配置ACE ,按照http://hi.baidu.com/_open_/blog/item/a9aab41bae22a71f8718bf56.html的方面
到最后一步 make时出现了如下错误 有那位大侠知道怎么解决吗?非常非常的感谢先~

[root@MailDB130 ACE_wrappers]# cd build
[root@MailDB130 build]# make
Making all in ace
make[1]: Entering directory `/home/wenxh/ACE_wrappers/build/ace'
make  all-recursive
make[2]: Entering directory `/home/wenxh/ACE_wrappers/build/ace'
Making all in .
make[3]: Entering directory `/home/wenxh/ACE_wrappers/build/ace'
if /bin/sh ../libtool --tag=CXX --mode=compile c++ -DHAVE_CONFIG_H -I. -I../../ace -I.  -I../.. -I.. -DACE_BUILD_DLL   -W -Wall -Wpointer-arith  -g -O2 -pthread -pipe -O3 -MT libACE_la-ACE.lo -MD -MP -MF ".deps/libACE_la-ACE.Tpo" -c -o libACE_la-ACE.lo `test -f 'ACE.cpp' || echo '../../ace/'`ACE.cpp; \
then mv -f ".deps/libACE_la-ACE.Tpo" ".deps/libACE_la-ACE.Plo"; else rm -f ".deps/libACE_la-ACE.Tpo"; exit 1; fi
c++ -DHAVE_CONFIG_H -I. -I../../ace -I. -I../.. -I.. -DACE_BUILD_DLL -W -Wall -Wpointer-arith -g -O2 -pthread -pipe -O3 -MT libACE_la-ACE.lo -MD -MP -MF .deps/libACE_la-ACE.Tpo -c ../../ace/ACE.cpp  -fPIC -DPIC -o .libs/libACE_la-ACE.o
In file included from /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/backward/new.h:33,
                 from ../../ace/Global_Macros.h:912,
                 from ../../ace/Flag_Manip.h:26,
                 from ../../ace/ACE.h:32,
                 from ../../ace/ACE.cpp:3:
/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
In file included from ../../ace/os_include/sys/os_wait.h:27,
                 from ../../ace/os_include/os_stdlib.h:28,
                 from ../../ace/Basic_Types.h:60,
                 from ../../ace/Sock_Connect.h:25,
                 from ../../ace/ACE.h:36,
                 from ../../ace/ACE.cpp:3:
../../ace/os_include/os_signal.h:238: error: declaration of C function `int sigwait(sigset_t*)' conflicts with
/usr/include/signal.h:272: error: previous declaration `int sigwait(const sigset_t*, int*)' here
In file included from ../../ace/os_include/os_signal.h:250,
                 from ../../ace/os_include/sys/os_wait.h:27,
                 from ../../ace/os_include/os_stdlib.h:28,
                 from ../../ace/Basic_Types.h:60,
                 from ../../ace/Sock_Connect.h:25,
                 from ../../ace/ACE.h:36,
                 from ../../ace/ACE.cpp:3:
../../ace/os_include/os_ucontext.h:40: error: conflicting declaration 'typedef int ucontext_t'
/usr/include/sys/ucontext.h:127: error: 'ucontext_t' has a previous declaration as `typedef struct ucontext ucontext_t'
../../ace/os_include/os_ucontext.h:40: error: declaration of `typedef int ucontext_t'
/usr/include/sys/ucontext.h:127: error: conflicts with previous declaration `typedef struct ucontext ucontext_t'
../../ace/os_include/os_ucontext.h:40: error: declaration of `typedef int ucontext_t'
/usr/include/sys/ucontext.h:127: error: conflicts with previous declaration `typedef struct ucontext ucontext_t'
In file included from ../../ace/os_include/netinet/os_in.h:28,
                 from ../../ace/Sock_Connect.h:26,
                 from ../../ace/ACE.h:36,
                 from ../../ace/ACE.cpp:3:
../../ace/os_include/sys/os_socket.h:44: error: redefinition of `struct msghdr'
/usr/include/bits/socket.h:216: error: previous definition of `struct msghdr'
In file included from ../../ace/Time_Value.h:24,
                 from ../../ace/Message_Block.h:27,
                 from ../../ace/ACE.cpp:10:
../../ace/os_include/os_time.h:59: error: redefinition of `struct timespec'
/usr/include/time.h:119: error: previous definition of `struct timespec'
../../ace/os_include/os_time.h:64: error: ISO C++ forbids declaration of `timespec_t' with no type
In file included from ../../ace/ACE.cpp:15:
../../ace/OS_NS_signal.h:52: error: conflicting declaration 'struct siginfo_t'
/usr/include/bits/siginfo.h:108: error: 'siginfo_t' has a previous declaration as `typedef struct siginfo siginfo_t'
In file included from ../../ace/OS_NS_Thread.h:32,
                 from ../../ace/ACE.inl:6,
                 from ../../ace/ACE.cpp:31:
../../ace/os_include/os_sched.h:44: error: conflicting declaration 'typedef struct cpu_set_t cpu_set_t'
/usr/include/bits/sched.h:108: error: 'cpu_set_t' has a previous declaration as `typedef struct cpu_set_t cpu_set_t'
../../ace/os_include/os_sched.h:44: error: declaration of `typedef struct cpu_set_t cpu_set_t'
/usr/include/bits/sched.h:108: error: conflicts with previous declaration `typedef struct cpu_set_t cpu_set_t'
../../ace/os_include/os_sched.h:44: error: declaration of `typedef struct cpu_set_t cpu_set_t'
/usr/include/bits/sched.h:108: error: conflicts with previous declaration `typedef struct cpu_set_t cpu_set_t'
../../ace/os_include/os_sched.h:44: error: declaration of `typedef struct cpu_set_t cpu_set_t'
/usr/include/bits/sched.h:108: error: conflicts with previous declaration `typedef struct cpu_set_t cpu_set_t'
In file included from ../../ace/OS_NS_stropts.h:32,
                 from ../../ace/OS_NS_sys_socket.h:30,
                 from ../../ace/ACE.inl:8,
                 from ../../ace/ACE.cpp:31:
../../ace/os_include/os_stropts.h:100: error: redefinition of `struct strbuf'
/usr/include/bits/stropts.h:181: error: previous definition of `struct strbuf'
make[3]: *** [libACE_la-ACE.lo] 错误 1
make[3]: Leaving directory `/home/wenxh/ACE_wrappers/build/ace'
make[2]: *** [all-recursive] 错误 1
make[2]: Leaving directory `/home/wenxh/ACE_wrappers/build/ace'
make[1]: *** [all] 错误 2
make[1]: Leaving directory `/home/wenxh/ACE_wrappers/build/ace'
make: *** [all-recursive] 错误 1
 楼主| 发表于 2009-7-10 13:29:18 | 显示全部楼层
在线等!
还有 就是我的linux下以前可能安装过ace-5.4 被删除了  我现在安装的是 ACE+TAO+CIAO-5.6.tar.gz
发表于 2009-7-10 14:49:25 | 显示全部楼层
ACE_wrappers下有个ACE_install.html(类似名字),里面有详细说明各种系统环境下的build方法
linux好像是改两个配置文件,然后configure,make
发表于 2009-7-10 16:01:29 | 显示全部楼层
我刚刚在linux上成功编译了ACE 方法如下:
第一步 设置ACE_ROOT环境变量
(1)export ACE_ROOT=/home/jet/ACE_wrappers
export LD_LIBRARY_PATH=$ACE_ROOT/ace:$LD_LIBRARY_PATH

(2)或者直接在用户目录下编辑.bashrc文件,内容如下:
ACE_ROOT=/home/jet/ACE_wrappers
export ACE_ROOT
LD_LIBRARY_PATH=$ACE_ROOT/ace:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
然后重新登陆
(3)另一种方法是修改系统的/etc/profile文件(不过这样还是以用户变量为
优先设置,即如果已经按照上面的两种方法进行了设置,那么以下的设置将不
会被系统采用。)
“vi /etc/profile”
在其中加入4行
ACE_ROOT=/opt/ACE
export ACE_ROOT
LD_LIBRARY_PATH=$ACE_ROOT/ace:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
我是加在“export PATH USER….”后的。完成后将/etc/profile执行一次,命令:
“chmod 555 /etc/profile”
“/etc/profile”
这样我们的ACE_ROOT就设置好了,可以用如下命令查看ACE_ROOT是否设置好了:
“echo $ACE_ROOT”
这个时候最好reboot启动一次linux。

(4)
在$ACE_ROOT/ace目录下:
  ln -s config-linux.h config.h
  在$ACE_ROOT/include/makeinclude/目录下:
  ln -s platform_linux.GNU platform_macros.GNU
(Windows中没有文件连接这一说,所以要自己生成一个config.h文件,再在它的里面加一
句话“#include "ace/config-win32.h"”。)

(5)如果编译中出现错误,如“../apps/gperf”等,请编辑$ACE_ROOT/apps下的Makefile,
将其中的有关“gperf”的部分注释掉,这个东西只是一个例子,可以不去编译它。

执行make,OK后运行。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-26 13:22 , Processed in 0.031479 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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