赛灵思
直播中

李红霞

7年用户 155经验值
私信 关注
[问答]

MAP 13.1在运行时链接错误

当打开全局优化或打开本地优化时,Linux 32和64位上的MAP(来自13.1)崩溃并带有链接器错误消息:
错误:
映射已完成。
有关详细信息,请参阅MAP报告文件“system_map.mrp”。
/opt/Xilinx/13.1/ISE_DS/ISE/bin/lin64/unwrapped/map:符号查找错误:/opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libXst_Core.so:未定义符号:_ZN5antlr6BitSetD1Ev
错误:Xflow  - 程序映射返回错误代码127.中止流程执行...
make:*** [__xps / system_routed]错误1
完成!
par完成后会发生错误,但恰好在将控制权返回给操作系统之前。
对我来说,它看起来像一个错误的链接顺序:当优化类结束时,他们尝试调用已经被释放的函数....但它只是一个猜测,但没有看到代码。
ld.so输出:
12849:调用fini:/opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libAntlr.so [0]
12849:
12849:
12849:调用fini:/opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libXst_Core.so [0]
12849:
12849:/opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libXst_Core.so:错误:符号查找错误:未定义符号:_ZN5antlr6BitSetD1Ev(致命)
12849:/opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libPdrBas_Rules.so:错误:符号查找错误:未定义符号:_h?YuN} XsAUc3Qrncd}我们(致命)
12849:/opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libPdrBas_Rules.so:错误:符号查找错误:未定义符号:_init_libPdrBas_Rules(致命)
12849:
12849:调用init:/opt/Xilinx/13.1/ISE_DS/ISE/virtex5/lib/lin64/libPdrRain_Rules.so
作为一种解决方法,可以调整LD_PRELOAD库以强制提供对象的库的预加载(并避免其释放)。
LD_PRELOAD = /选择/赛灵思/ 13.1 / ISE_DS / ISE / LIB / lin64 / libAntlr.so
我在Debian上运行xilinx 13.1工具,但另一个用户也注意到Ubuntu上的错误...恕我直言这不是与Ubuntu或Debian相关的错误,而是PAR本身的错误。
问候
ps:旧的posthttp://forums.xilinx.com/t5/Inmplementation/ISE-13-1-MAP-crashes-on-Ubuntu-11-04/m-p/158198#M3304

以上来自于谷歌翻译


以下为原文



MAP (from 13.1) on linux 32 and 64 bits crashes with a linker error messages when global optimizations are turned on or the local optimization is on:

The error:
Mapping completed.See MAP report file "system_map.mrp" for details./opt/Xilinx/13.1/ISE_DS/ISE/bin/lin64/unwrapped/map: symbol lookup error: /opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libXst_Core.so: undefined symbol: _ZN5antlr6BitSetD1EvERROR:Xflow - Program map returned error code 127. Aborting flow execution...make: *** [__xps/system_routed] Error 1Done!The error happens after the par has finnished, but just before it returns the control to the OS. For me it looks like a wrong linking order: when the optimization classes ends, they try to call a function that has already been released....But it is just a speculation without been able to see the code.

The ld.so output:
12849:calling fini: /opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libAntlr.so [0]     12849:     12849:     12849:calling fini: /opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libXst_Core.so [0]     12849:     12849:/opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libXst_Core.so: error: symbol lookup error: undefined symbol: _ZN5antlr6BitSetD1Ev (fatal)     12849:/opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libPdrBas_Rules.so: error: symbol lookup error: undefined symbol: _hYuN}XsAUc3Qrncd}Us (fatal)     12849:/opt/Xilinx/13.1/ISE_DS/ISE//lib/lin64/libPdrBas_Rules.so: error: symbol lookup error: undefined symbol: _init_libPdrBas_Rules (fatal)     12849:     12849:calling init: /opt/Xilinx/13.1/ISE_DS/ISE/virtex5/lib/lin64/libPdrRain_Rules.so As a workaround the LD_PRELOAD library can be tunned to force the preload of the library  that provides the object (and avoiding its release).

LD_PRELOAD=/opt/Xilinx/13.1/ISE_DS/ISE/lib/lin64/libAntlr.so I am running the xilinx 13.1 tools over Debian, but another user has also notice the error on Ubuntu... IMHO this is not a error related to Ubuntu or Debian, but an error on PAR itself.


Regards

ps: the old post http://forums.xilinx.com/t5/Implementation/ISE-13-1-MAP-crashes-on-Ubuntu-11-04/m-p/158198#M3304

回帖(1)

王荣

2018-11-22 11:58:01
谢谢。
您的解决方案也适用于Linux 64位的ISE 13.2。

以上来自于谷歌翻译


以下为原文

Thanks. Your work-around solution also works in ISE 13.2 on linux 64-bit.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分