找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 5779|回复: 1

求教 ACE 在AIX的安装与编译

[复制链接]
发表于 2009-5-6 19:50:24 | 显示全部楼层 |阅读模式
最近一直在弄AIX下的ACE环境,
我用的是ACE5.6.1  系统是是AIX5.3   

安装包放在$HOME/ACE下,   安装目录是$HOME/ace
编译过程没问题. 用../configure --prefix=$HOME/ace产生的makefile , 编译时间长, 忍了,
我使用了ACEXML,

这中间发现了几个问题, 请教各位,

1.  编译应用程序时,  包含的头文件不能用安装目录里的头文件, (安装目录里的文件不完整)

2.  直接编译出来的libACE.a (.so)  无法使用, 应用程序会core在  ACE_Thread_Manager::instance ()->wait(); 上
     需要在configure 里面修改LDFLAGS解决

简要代码如下

  ACE_Thread_Manager::instance ()->spawn_n (
            maxthreads, event_loop,
            ACE_Reactor::instance (),
            THR_NEW_LWP|THR_DETACHED);
  return ACE_Thread_Manager::instance ()->wait();

static ACE_THR_FUNC_RETURN event_loop (void *arg) {
ACE_Reactor *reactor = static_cast<ACE_Reactor *> (arg);

/*反应器开始事件检测循环*/
reactor->owner (ACE_OS::thr_self ());
reactor->run_reactor_event_loop ();
return 0;
}

3.  默认编译出来的libACEXML.a 依赖libACE.a , 这个依赖是以绝对路径搜索的,
    就是说, 如果我把$HOME/ace 拷贝到另外一个用户目录下, 那么, 应用程序将无法运行. 其依赖的libACEXML.a 所依赖的libACE.a 找不到
  虽然libACE.a 在LIBPATH的搜索路径下.


最近这个月使用ACE的感受, 在AIX下简直是一个噩梦经历
 楼主| 发表于 2009-5-6 19:53:49 | 显示全部楼层

补上core时的调用栈

GXP_LBS.notify(ACE_Event_Handler*,unsigned long,ACE_Time_Value*)(??, ??, ??, ??), line 213 in "Select_Reactor_T.cpp"
GXP_LBS.sleep_hook()(??), line 62 in "Reactor_Token_T.cpp"
shared_acquire(void(*)(void*),void*,ACE_Time_Value*,ACE_Token::ACE_Token_Op_Type)(0x2ff22770, 0x0, 0x0, 0x0, 0x2), line 254 in "Token.cpp"
Token.acquire(ACE_Time_Value*)(0x2ff22770, 0x0), line 341 in "Token.cpp"
GXP_LBS.acquire()(??), line 11 in "Guard_T.inl"
GXP_LBS.ACE_Guard(ACE_Reactor_Token_T<ACE_Token>&)(??, ??), line 38 in "Guard_T.inl"
GXP_LBS.close()(??), line 565 in "Select_Reactor_T.cpp"
GXP_LBS.~ACE_Select_Reactor_T()(??, ??, ??), line 609 in "Select_Reactor_T.cpp"
GXP_LBS.~ACE_TP_Reactor()(??, ??, ??), line 215 in "memory"
main(argc = 0, argv = (nil)), line 560 in "GXP_LBS.cpp"
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

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

GMT+8, 2024-11-23 16:16 , Processed in 0.014604 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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