紧急求助 ACE 在solaris 10 上编译安装问题
按照ACE的安装说明,下载ACE-5.5.5.tar 按照文档进行安装执行make的时候出现下面的错误,
Making all in .
/bin/bash ../libtool --tag=CXX --mode=link g++ -W -Wall -Wpointer-arith-g -O2 -pipe -o Sendfile_TestSendfile_Test-Main.oSendfile_Test-Sendfile_Test.o libTest_Output.la../ace/libACE.la -lrt -lgen -lnsl -lsocket
g++ -W -Wall -Wpointer-arith -g -O2 -pipe -o .libs/Sendfile_Test Sendfile_Test-Main.o Sendfile_Test-Sendfile_Test.o./.libs/libTest_Output.a -L/usr/sfw/lib -lgcc_s -lm ../ace/.libs/libACE.so /usr/sfw/lib/libstdc++.so -lrt -lgen -lnsl -lsocket -Wl,-R -Wl,/usr/local/lib -Wl,-R -Wl,/usr/sfw/lib
ld: warning: file /usr/sfw/lib/libstdc++.so: attempted multiple inclusion of file
Undefined first referenced
symbol in file
sendfile Sendfile_Test-Sendfile_Test.o
ld: fatal: Symbol referencing errors. No output written to .libs/Sendfile_Test
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `Sendfile_Test'
Current working directory /bisgl11/bisgl/ACE/ACE_wrappers/build/tests
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='.SSL'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir && make$local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make"$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /bisgl11/bisgl/ACE/ACE_wrappers/build/tests
*** Error code 1
make: Fatal error: Command failed for target `all'
Current working directory /bisgl11/bisgl/ACE/ACE_wrappers/build/tests
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='ace ACEXML ASNMP apps bin netsvcs examplesperformance-tests tests protocols websvcs Kokyu'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir && make$local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make"$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
请教各位前辈如何解决这个问题呀。:'(
[ 本帖最后由 seesunny 于 2009-9-13 11:32 编辑 ] 像是版本兼容的问题,下载一个最新版本试试。你这个是旧版本。 ACE-5.5.tar.gz make 没有问题
但是执行make install 出现问题
ACE-5.6.tar.gz make 出现上面问题
ACE-5.7.tar.gz make 出现上面问题
请版主大侠
给指点迷津 test相关的目录可以不编译吧,编译ace动态库,用不到这些。 make 成功就ok,make install实际是复制文件和设置环境,你检查一下里面的代码是不是有兼容性问题吧。
谢谢两位
下载了ACE-5.5 tar.gz make 正常,make install 也正常(不正常的原因是对应目录没有权限),可编译完成后发现是32位的,
solaris 10 的系统 isainfo -b =64 isainfo -v 支持64,和32位,
可是当前是64位,我连接时发现ACE 是32位的,
请问如何编译ACE 为64位的呢,看ACE的Install.html没有发现相关的说明。请各位前辈们继续帮忙谢谢
页:
[1]