我已经阅读和研究了这几天,并决定我需要一些外部帮助!
(而且这个网站似乎是一个不错的地方,所以我想我会在这里发布我的问题,看看情况如何)
我们的小公司已经好几年没有在 AIX 上构建我们的应用程序了,我被分配了这项任务(幸好我喜欢挑战)。
我遇到的问题很容易描述,我可以看到其他人也在经历它,尽管我似乎无法找到答案。
如果我链接应用程序“非静态”,这意味着我不在构建命令中使用“-static”,则该应用程序在开发机器上运行良好,但在我们用于测试的其他 AIX 机器上运行良好。
【两机速记;
开发:
~$ uname -a
AIX aix3 2 5 000BA50D4C00
测试:
~$ uname -a
AIX aix4 1 5 002459A64C00
]
如果我与“-static”链接,则应用程序在开发机器上运行时会在引发异常时“中断”:
terminate called after throwing an instance of 'MyAppError'
Segmentation fault (core dumped)
并且(好像这还不够),该应用程序仍然无法在测试机器上运行:
exec(): 0509-036 Cannot load program ./myapp because of the following errors:
0509-130 Symbol resolution failed for myapp because:
0509-136 Symbol _sigqueue (number 65) is not exported from
dependent module /unix.
0509-136 Symbol ra_attachrset (number 95) is not exported from
dependent module /unix.
0509-136 Symbol __rs_pickmcm (number 99) is not exported from
dependent module /unix.
0509-136 Symbol _timer_create (number 122) is not exported from
dependent module /unix.
0509-136 Symbol _timer_delete (number 123) is not exported from
dependent module /unix.
0509-136 Symbol _timer_getoverrun (number 124) is not exported from
dependent module /unix.
0509-136 Symbol _timer_gettime (number 125) is not exported from
dependent module /unix.
0509-136 Symbol _timer_settime (number 126) is not exported from
dependent module /unix.
0509-136 Symbol count_event_waiters (number 159) is not exported from
dependent module /unix.
0509-192 Examine .loader section symbols with the
'dump -Tv' command.
我应该在这里注意我们正在使用“-pthead”进行链接,并且我已经阅读了几篇文章说在使用 pthread 时静态链接是不合适的。
我的脑袋疼。
我将非常感谢您对此的任何意见。