2014年9月16日火曜日

libcがない?

Ubuntu 12.04.2 であるソフトをビルドしようとして
/usr/bin/ld: cannot find -lc
なるエラーにぶつかりました。
一瞬"find"コマンドに"-lc"なんてオプションあったっけ、
と的外れな思考が頭をよぎりましたが、
リンカのエラーであることはすぐにわかりました。
しかしCの標準ライブラリがないってどういうこと?

調べてみると、Cの標準ライブラリを静的にリンクしようとして失敗しており、
ネットで見ればいろいろなディストリビューションでけっこうみんなぶち当たっています。
何のことはない、本当に"libc.a"がないのが原因で、
Ubuntu 12.04なら
# apt-get install libc6-dev
でインストールすれば回避できるのです。
そもそもなぜそんなことをしているかというと、
システムが静的リンクをサポートしていることが確認したいだけのようで、
本筋とは関係ないっぽいです。
蛇足とはまさにこのことですね。

0 件のコメント:

コメントを投稿