hakeの日記

Windows環境でプログラミングの勉強をしています。

undefined reference to `stat'

dev_img-1.6でコンパイルをしているとタイトルのようなエラーが出て先に進めないことがある。「stat」は「lstat」だったり「fstat」だったり。ググってみたところdev_img-1.3のころからあったようで、既に解決策があった。
ここの「dev_img1.3解決」を参考にSL-C3000に対策を行う。

  • ザウルス宝箱Proの<Linux関連 開発ツール>からglibcライブラリ(libc-arm-2.2.2-0.i386.rpm)を入手
  • このrpmファイルを展開してlibc_nonshared.aを抜き出す。rpmファイルの展開はWindows環境でLHmelt+TAR32.DLLで行った。
  • libc_nonshared.aを/usr/local/libに置く、念のためchgrp qpeしておく。
  • /usr/lib/libc.soを別名保存
# cd /usr/lib
# mv libc.so libc.so.org
  • viなどのエディタで/usr/lib/libc.soを作成
GROUP( /lib/libc.so.6 /usr/local/lib/libc_nonshared.a )

これでエラーが出なくなった。
ちなみにlibc_nonshared.aを/usr/local/libに置いたのは、/usr/libに新規ファイルの追加ができなかった為。