「認識できない再配置」で「sudo make install」が失敗するのはなぜですか?

「認識できない再配置」で「sudo make install」が失敗するのはなぜですか?

同じ悩みをお持ちの方のためのQ&Aポスティングです。

この問題は、標準パスにない別のツールチェーン(gcc、binutils、libtool)を使用している場合にのみ発生します。

つまり、which gccプライベートな場所を提供します。

sudo env | grep -w "PATH="

これはOpenSUSE 13.2でOctave-4.2をコンパイルするために必要です(標準gccは古すぎます)。

標準システムにはツールチェーンが1つだけあり、そのツールチェーンは標準パスにあり、sudo make install正常に動作します。

以下はエラーですsudo make install

libtool: warning: relinking 'Magick++/lib/libGraphicsMagick++.la'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld:
Magick++/lib/.libs/Magick___lib_libGraphicsMagick___la-Image.o: unrecognized relocation (0x2a) in section `.text'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
libtool: error: error: relink 'Magick++/lib/libGraphicsMagick++.la' with the above command before installing it

ベストアンサー1

理由は次のとおりです。

キーは、ツールチェーンの位置が前に追加されているため、configure手順makeが機能することです(例:)。PATHgcc

しかし、sudo変数を伝播しない。したがって、無効なツールチェーン(以前のsudo make installツールチェーンなど)を使用してコマンドを実行します。gcc

1つの解決策は単に使用することですsu

su
# make install

おすすめ記事