AIX 6.1 链接器错误
我正在尝试在 AIX 上编译我的应用程序。它在 Linux、Solaris x86 和 Windows 上构建得很好,但这是我们第一次尝试在 AIX 上构建。 我已经设法将所有库链接在一起,但收到错误消息: 正在链接... ld: 0711-101 致命错误: 96864 字节分配失败 在例程 get_RLD 中。没有足够的可用内存。 请检查您的 ulimit 或分页空间 或使用本地问题报告程序。 Collect2: ld 返回 12 退出状态
我已将页面空间增加了 1GB - 没有区别 我增加了 ulimit 值 - 没有区别 我尝试将 maxdata 标志传递给链接器 - 没有区别
还有什么我应该尝试的吗?
我不确定如何确定哪个库导致了问题。我们正在尝试静态链接 boost_date_time、xerces-c 和 libz 以及 50 个内部库。我无法更改为动态链接,也无法对系统结构进行太多更改,因此我正在寻找配置或参数的想法来尝试 ld。
I'm trying to compile my application on AIX. It builds fine on Linux, Solaris x86 and Windows but this is the first time we've tried to build on AIX.
I've managed to get to the point of linking all of the libraries together and I get the error message:
Linking...
ld: 0711-101 FATAL ERROR: Allocation of 96864 bytes failed
in routine get_RLDs. There is not enough memory available.
Please check your ulimit or paging space
or use local problem reporting procedures.
collect2: ld returned 12 exit status
I've increased the page space by 1GB - no difference
I've increased the ulimit values - no difference
I've tried passing in the maxdata flag to the linker - no difference
Is there anything else I should be trying?
I'm not sure how to identify which library is causing the problem. We're trying to link statically against boost_date_time, xerces-c and libz and against 50 internal libraries. I can't change to dynamic linking and I can't change much about the structure of the system so I'm looking for ideas of configuration or parameters to try for ld.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题最终出在数据段大小的 ulimit 上。显然这个设置仍然很小。让它变得更大,例如:
ulimit -d 1048575
允许链接器走得更远。
现在来弄清楚我对所有这些未定义的符号做了什么。
The problem turned out to be the ulimit on the data seg size. Apparently that was still set quite small. Making it bigger like:
ulimit -d 1048575
allows the linker to get further.
Now to just figure out what I do about all of these undefined symbols.