Невозможно скомпилировать: нераспознанное перемещение

Я не могу ничего скомпилировать на моем компьютере. Я понятия не имею, почему, возможно, я установил какой-то пакет и сделал беспорядок. Я удалил и переустановил gcc и другие пакеты, но нет хороших новостей .. все еще эта проблема.

Это сообщение:

/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-
linux/bin/ld: /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/crt1.o: unrecognized relocation (0x29) in section `.text'

Есть идеи, что это значит и как решить эту проблему?

ура

5

Решение

Для всех, кто сталкивается с этой проблемой: я думаю, что проблема @ gabib44 заключалась в использовании более старой версии ld связать библиотеку, которая была построена с более новой версией.

«нераспознанное перемещение» происходит, когда тип перемещения больше, чем самый большой известный тип перемещения в вашей версии ld, 0x2a (R_X86_64_REX_GOTPCRELX) в настоящее время тип перемещения с наибольшим значением; Я думаю, @ gabib44’s ld был достаточно стар, чтобы не знать о типе перемещения до этого (0x29, R_X86_64_GOTPCRELX).

У меня была эта проблема, когда я собирал библиотеку с binutils v2.26 (которая знала о перемещении 0x2a), но затем включить эту библиотеку на машине сборки, используя binutils v2.24

Исправление заключается либо в создании библиотеки, которую вы хотите связать со старой версией пакета binutils, либо в обновлении ld на машине, которая хочет связать эту библиотеку.

11

Другие решения

Я нашел это в другом посте:

[… который при компиляции приносит эту ошибку:

/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/../../../../x86_64-pc-linux-
gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-
gnu/6.4.0/../../../../lib64/Scrt1.o: unrecognized relocation (0x2a) in
section `.text'

Попробовав много вещей, в том числе новые исполняемые файлы из другой системы Gentoo, я наконец-то вернулся и решил проблему благодаря optiz0r (для решения моей проблемы) и Ryuno-Ki [m] (за сообщение мне о optiz0rs). когда я вышел из системы).

sudo binutils-config x86_64-pc-linux-gnu-2.29.1

Очень просто! Решение вашей проблемы может отличаться, но работает

sudo binutils-config -l

может показать версию, которую вы можете ввести вместо версии, которую я использовал …] by necrophcodr »Вт. Фев 06, 2018 21:24
на https://forum.sabayon.org/viewtopic.php?f=57&т = 34076&р = 181260 # p181260

Это сработало для меня.

2

Я исправил установку gcc-32bit и удаление других пакетов

0
По вопросам рекламы [email protected]