Linux Tips

makeで「/usr/bin/ld: cannot find」と表示されるときは

北浦訓行
2009/2/18

 tarボールやカーネルの再構築などでmakeを実行すると、以下のようなエラーメッセージが表示されることがある。

$ make xconfig
HOSTLD scripts/kconfig/qconf
/usr/bin/ld: cannot find -lXi
collect2: ld はステータス 1 で終了しました
make[1]: *** [scripts/kconfig/qconf] エラー 1
make: *** [xconfig] エラー 2

 これは、-lオプションに続くパッケージ(ここでは「Xi」)に関連するライブラリがインストールされていないことを示している。従って、不足しているライブラリをインストールすればいい。多くの場合、ライブラリは「lib<パッケージ名>」となっているため、上記の例では「libXi」をインストールする。それでも同じエラーが出る場合は、libXi-develをインストールする(上記の場合はこれに該当する)。

 パッケージ名が分からないときは、

$ yum search libXi

とすればいい。システムにlibXi関連のパッケージがインストールされているかどうかを調べるには、

$ rpm -qa | grep libXi

とする。

 パッケージではなくて、tarボールなどからライブラリをインストールしている場合は、ライブラリのディレクトリにパスが通っていなかったり、検索パスのキャッシュが更新されていない可能性がある。その場合は、パスを再設定したり、rootでldconfigコマンドを実行すればいいだろう。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間