2017-09-05 27 views
0

私の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' 

の任意のアイデア、それが何を意味し、どのようにこの問題を解決するために?

歓声

+0

オブジェクトファイルがリンカーと互換性がないようですか? – AndyG

+0

私はgcc(SUSE Linux)4.8.5 とldd(GNU libc)2.25を持っています。私はそれが何であるかを理解しようと何時間もある – gabib44

答えて

0

私はGCC-32ビットをインストールすると、この問題が発生した他の誰のための様々な他のパケットに

2

を取り除く固定:私は、@ gabib44の問題が持っていたライブラリをリンクするldの古いバージョンを使用していたと思います新しいバージョンで構築されました。再配置タイプはldのバージョンで最大の知られている再配置タイプよりも大きい場合

「認識できない移転」が発生します。 0x2aR_X86_64_REX_GOTPCRELX)は現在、最大値を持つ再配置型です。私は@ gabib44のldは、その前に再配置タイプについて知りたくないほど古いものだったと思います(0x29R_X86_64_GOTPCRELX)。

私は私が(移転0x2aを知っていた)のbinutils v2.26でライブラリを構築されたときに、この問題を自分で持っていたが、その後のbinutils v2.24を使用してビルドマシン上でそのライブラリを組み込むことは

修正はどちらかにありますbinutilsスイートの古いバージョンとリンクしたいライブラリをビルドするか、そのライブラリをリンクしたいマシン上のldをアップグレードしてください。

関連する問題