web-dev-qa-db-ja.com

コンパイルできません:認識されない再配置

Linux PCで何もコンパイルできません。なぜかわからないのですが、おそらくいくつかのパッケージをインストールして混乱させました。 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'

それが何を意味し、この問題をどのように修正するかについての考えはありますか?

乾杯

10
gabib44

この問題に遭遇した他の人にとって:@ gabib44の問題は、古いバージョンのldを使用して、ビルドされたライブラリを新しいバージョンでリンクすることであったと思います。

「認識されない再配置」は、再配置タイプがldのバージョンで既知の最大の再配置タイプより大きい場合に発生します。 0x2aR_X86_64_REX_GOTPCRELX)は現在、最大の値を持つ再配置タイプです。 @ gabib44のldは、その前の再配置タイプ(0x29R_X86_64_GOTPCRELX)。

Binutils v2.26(再配置について知っていた0x2a)が、binutils v2.24を使用してビルドライブラリにそのライブラリを組み込む

修正は、古いバージョンのbinutilsスイートとリンクするライブラリをビルドするか、そのライブラリをリンクするマシンでldをアップグレードすることです。

18
Jake Molnar

私はこれを別の投稿で見つけました:

[...コンパイルするとこのエラーが発生します:

/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"2018年2月6日21:24 https://forum.sabayon.org/viewtopic.php?f=57&t = 34076&p = 181260#p18126

それは私のために働いた。

3

Gcc-32bitのインストールと他のさまざまなパケットの削除を修正しました

1
gabib44