webmaster 发表于 2009-7-10 13:25:28

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

我在linux下配置ACE ,按照http://hi.baidu.com/_open_/blog/item/a9aab41bae22a71f8718bf56.html的方面
到最后一步 make时出现了如下错误 有那位大侠知道怎么解决吗?非常非常的感谢先~

# cd build
# make
Making all in ace
make: Entering directory `/home/wenxh/ACE_wrappers/build/ace'
makeall-recursive
make: Entering directory `/home/wenxh/ACE_wrappers/build/ace'
Making all in .
make: 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: *** 错误 1
make: Leaving directory `/home/wenxh/ACE_wrappers/build/ace'
make: *** 错误 1
make: Leaving directory `/home/wenxh/ACE_wrappers/build/ace'
make: *** 错误 2
make: Leaving directory `/home/wenxh/ACE_wrappers/build/ace'
make: *** 错误 1

webmaster 发表于 2009-7-10 13:29:18

在线等!
还有 就是我的linux下以前可能安装过ace-5.4 被删除了我现在安装的是 ACE+TAO+CIAO-5.6.tar.gz

wishel 发表于 2009-7-10 14:49:25

ACE_wrappers下有个ACE_install.html(类似名字),里面有详细说明各种系统环境下的build方法
linux好像是改两个配置文件,然后configure,make

yleesun 发表于 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后运行。
页: [1]
查看完整版本: 急急急!!!请大侠帮忙!