【问题标题】:GCC link error, relocation truncated to fit: GPREL16 against symbol errorGCC 链接错误,重定位被截断以适应:GPREL16 针对符号错误
【发布时间】:2019-05-23 14:38:50
【问题描述】:

我目前正在交叉编译 tensorflow r1.9。宿主系统是ubuntu 18.04,目标系统是sw26010(一个基于alpha指令集的中文CPU)。交叉编译器基于 GCC 5.3。

由于某些操作系统限制,我必须将所有库静态链接 到 tensorflow。 libstdc++.a 和 libpthread.a。包括在内。

经过一些配置,我可以成功编译所有目标文件。 (将“//conditions:default”:[],添加到nsync BUILD文件,并将sw2 CPU宏添加到双重转换BUILD文件)。但是,我无法成功链接所有库文件和目标文件。

这是错误信息。

/home/qh5/swgcc530/gcc-5.3.0/libstdc++-v3/src/c++98/ios_init.cc:140:(.text._ZNSt8ios_base4InitD2Ev+0xf4):重定位被截断以适应:GPREL16反对符号`std::wcerr' 在 /usr/sw-mpp/swcc/swgcc530-tools/usr/sw_64sw2-unknown-linux-gnu/lib/libstdc++.a(globals_io.o) 的 .bss._ZSt5wcerr 部分中定义

这是用于 tensorflow bazel 的 CROSSTOOL。 CROSSTOOL on hastebin 我尝试使用 compiler_flag: "-msmall-data"compiler_flag: "-fpic" 修复错误,但失败了。

【问题讨论】:

    标签: tensorflow gcc bazel


    【解决方案1】:

    最后,通过联系编译团队解决了这个错误。如果你有同样的问题。请向中文编译器团队寻求帮助并更新您的编译器。

    【讨论】:

      猜你喜欢
      • 2014-08-13
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 2015-01-07
      相关资源
      最近更新 更多