2

我正在尝试在 AIX 上编译我的应用程序。它在 Linux、Solaris x86 和 Windows 上构建良好,但这是我们第一次尝试在 AIX 上构建。我已经设法将所有库链接在一起,我收到错误消息:链接... ld:0711-101 致命错误:在例程 get_RLD 中分配 96864 字节失败。没有足够的可用内存。请检查您的 ulimit 或分页空间或使用本地问题报告程序。collect2: ld 返回 12 退出状态

我将页面空间增加了 1GB - 没有区别我增加了 ulimit 值 - 没有区别我尝试将 maxdata 标志传递给链接器 - 没有区别

还有什么我应该尝试的吗?

我不确定如何确定是哪个库导致了问题。我们正在尝试静态链接 boost_date_time、xerces-c 和 libz 以及 50 个内部库。我无法更改为动态链接,也无法对系统的结构进行太多更改,因此我正在寻找配置或参数的想法来尝试 ld。

4

1 回答 1

3

问题原来是数据段大小的 ulimit。显然,这仍然设置得非常小。使其更大,例如: ulimit -d 1048575 允许链接器走得更远。现在要弄清楚我对所有这些未定义的符号做了什么。

于 2010-06-30T13:07:38.847 回答