Ошибка связи GCC, перемещение урезано для соответствия: GPREL16 против ошибки символа - PullRequest
0 голосов
/ 24 декабря 2018

Я кросс-компиляция тензор потока r1,9 в настоящее время.Хост-система - Ubuntu 18.04, целевая система - sw26010 (китайский процессор, набор команд которого основан на альфа).Кросс-компилятор основан на GCC 5.3.

Из-за некоторых ограничений ОС, я должен статическая ссылка всех библиотек к tenorflow.libstdc ++. a и libpthread.a.включены.

Я могу успешно скомпилировать все объектные файлы после некоторой конфигурации.(добавьте "// условия: по умолчанию": [], "в файл nsync BUILD и добавьте макрос ЦП sw2 в файл BUILD с двойным преобразованием). Однако я не могу успешно связать все библиотечные файлы и объектные файлы.

Вот сообщение об ошибке.

/ home / qh5 / swgcc530 / gcc-5.3.0 / libstdc ++ - v3 / src / c ++ 98 / ios_init.cc: 140 :(. Text._ZNSt8ios_base4InitD2Ev + 0xf4): перемещение сокращено до соответствия: GPREL16 для символа `std :: wcerr ', определенного в разделе .bss._ZSt5wcerr в / usr / sw-mpp / swcc / swgcc530-tools / usr / sw_64sw2-unknown-linux-gnu / lib / libstdc ++.a (globals_io.o)

Вот CROSSTOOL для тензорного потока. CROSSTOOL на hastebin Я пытался использовать compiler_flag: "-msmall-data" и compiler_flag: "-fpic" исправить ошибку, но не удалось.

1 Ответ

0 голосов
/ 04 марта 2019

Наконец, эта ошибка решается путем обращения в команду компиляторов.Если у вас такая же проблема.Пожалуйста, обратитесь за помощью к китайской команде компиляторов и обновите ваш компилятор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...