找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4791|回复: 5

紧急求助 ACE 在solaris 10 上编译安装问题

[复制链接]
发表于 2009-9-13 10:40:28 | 显示全部楼层 |阅读模式
按照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_Test  Sendfile_Test-Main.o  Sendfile_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 examples  performance-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 编辑 ]
发表于 2009-9-13 20:50:01 | 显示全部楼层
像是版本兼容的问题,下载一个最新版本试试。你这个是旧版本。
 楼主| 发表于 2009-9-14 13:36:06 | 显示全部楼层
ACE-5.5.tar.gz make 没有问题
但是执行make install 出现问题
ACE-5.6.tar.gz make 出现上面问题
ACE-5.7.tar.gz make 出现上面问题
请版主大侠
给指点迷津
发表于 2009-9-14 14:03:13 | 显示全部楼层
test相关的目录可以不编译吧,编译ace动态库,用不到这些。
发表于 2009-9-14 21:51:07 | 显示全部楼层
make 成功就ok,make install实际是复制文件和设置环境,你检查一下里面的代码是不是有兼容性问题吧。
 楼主| 发表于 2009-9-15 13:57:34 | 显示全部楼层

谢谢两位

下载了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没有发现相关的说明。请各位前辈们继续帮忙谢谢
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

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

GMT+8, 2024-12-23 13:45 , Processed in 0.021093 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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