[Suzaku:02058] Re: マルチスレッドでのエラー

mizo email@hidden
2010年 12月 17日 (金) 12:15:27 JST


溝渕です。

Nobuaki Sugishima wrote:
> しかし実行段階で
> 『./prg: error while loading shared libraries: libpthread.so.0: cannot
> open shared object file: No such file or directory』
> が出てしまいます。
> 
> ネットで検索したところ
> http://armadillo.atmark-techno.com/faq/libpthread_not_found
> 『FAQ : libpthreadが見つからず、エラーになります』
> 
> を発見しました。
> 
> 『と表示されて失敗する場合、開発環境にある/usr/arm-linux/lib/libpthread-
> 0.10.soを、Armadillo-9に転送後 /libディレクトリに移動し、このファイルへ
> のシンボリックリンク (libpthread.so.0)を作成してください。』
> 
> しかしlibpthread-0.10.soのある場所を発見できません。
> 
> 以上の手続きが妥当なのかわかりません。
> 解決策があれば、手順を(詳細に)お教え願えれば幸いです。

手順としては妥当ですが、上記FAQはArmadillo(arm)用なので、powerpcの場合は
クロスライブラリのパスが異なります。

> sz410
> atde2-20090403
> です。

ATDE2でsz410(powerpc)用のライブラリは、/usr/powerpc-linux-gnu/lib/に保存
されています。

[atde]$ ls /usr/powerpc-linux-gnu/lib/libpthread*
/usr/powerpc-linux-gnu/lib/libpthread-0.10.so
/usr/powerpc-linux-gnu/lib/libpthread.a
/usr/powerpc-linux-gnu/lib/libpthread.so
/usr/powerpc-linux-gnu/lib/libpthread.so.0
/usr/powerpc-linux-gnu/lib/libpthread_nonshared.a
/usr/powerpc-linux-gnu/lib/libpthread_p.a

ここから手動でコピーする他に、イメージファイルの作成時に必要なライブラリ
を自動的にイメージファイルに含むようにする方法があります

すでにビルド済みのatmark-distがある場合は次のようにします。

$ cd atmark-dist-[version]/
$ cp [アプリケーション] romfs/bin
$ make romfs image

以上試してみてください。




suzaku メーリングリストの案内