[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:06862] Re: Don't exist /usr/lib/libpthread.so
-
From:KOJIMA Mitsuhiro
-
Date:Sun, 20 Aug 2000 16:31:23 +0900
- Subject: [plamo:06862] Re: Don't exist /usr/lib/libpthread.so
- From: KOJIMA Mitsuhiro <kojima@xxxxxxxxxxx>
- Date: Sun, 20 Aug 2000 16:31:23 +0900
- Posted: Sun, 20 Aug 2000 16:30:50 +0900
From: Seiji Fukagawa <fukafuka@fsinet.or.jp>
Subject: [plamo:06851] Re: Don't exist /usr/lib/libpthread.so
Date: Sat, 19 Aug 2000 22:03:31 +0900
Message-ID: <20000819220403F.fukafuka@fsinet.or.jp>
> で、納得いかないという事で、/lib, /usr/lib をぐりぐりといじりながら
> もう少し調べてみました。
詳細な調査、ありがとうございます。(_ _)
先に白状しておきますが、私自身は thread 回りについては全然詳しくないの
で、libthread* を作成ミスしている可能性が高いですね。
>
> という訳で、先の xmms の configure 時の GTK+ 認識失敗の原因は、
> /usr/lib/libpthread.so がないことではなく、-L/usr/lib -lpthread のため
> /lib/libpthread.so ではなく /usr/lib/libpthread.a をリンクしていたため
> のようです。具体的になにがどう、となると、この先どうやって調べようか、
> ムムッとうなってしまうのですが...。(^^;
>
> ところで、ここで (疑問 2) なのですが、
> /lib/libpthread* と /usr/lib/libpthread* 、何故 2 つあるのでしょう?
> 配置だけの問題でしょうか? それともものが違う?
私が理解している範囲では lib**.so は実行時にリンクする共有ライブラリで、
lib**.a は static リンクするためのライブラリです。
ソースコードを読んでるわけではないので、間違っていればぜひ訂正して欲し
いのですが、共有ライブラリを使うプログラムの場合、コンパイル時には共有
ライブラリを見ずに、static 用のライブラリを見て各種シンボルの参照を解
決しているので、プログラムをコンパイルするためには lib**.a が必要なの
だ、と理解しています。
だから、今回の libpthread の問題では、/lib/libpthread.so と
/usr/lib/libpthread.a のシンボル情報が食いちがっているような気がします。
# うーむ、、でも lib*.so でもシンボルは見えるので、別に lib**.a が必須
# なわけではない気もするなぁ、、このあたりは ld 回りを調べるしかない
# か。。
> そういう事ですか。ただ、この件なのですが、ソースからコンパイルしよう
> とすると、いくつものライブラリ (libtiff とか libpng とか...) で no symbols
> のため、./configure での認識に失敗 (たいていの場合は configure 中の
> テストプログラム (conftest) のコンパイル/リンクに失敗することが原因
> のようですが) してしまいます。
>
> 失礼ですが、本当に strip -g なんでしょうか? strip -g では no symbols
> とはならないと思うのですが...。
>
> # 例を挙げますと、お勧めパッケージをインストールした状態で、WindowMaker
> # 0.62.1 をソースからコンパイルしようとすると、configure で libtiff が
> # 認識されません。原因は /usr/lib/libtiff* が no symbols のため。
> # libtiff をソースから入れ直すと問題なし。コンパイルし直した libtiff に
> # strip -g しても no symbols とはならない。
>
2.0 のリリース前にサイズをできるだけ小さくしようとライブラリ類を strip
しすぎて動かなくなってしまったことがありまして、主要なライブラリは戻し
たつもりだったけど、このヘンのライブラリは戻しそこねていたみたいです m(_ _)m
手もとでは、次のリリース(2.1)に向けた作業で時間を取られていて、この問
題を追及するのは困難なのですが、追及していただけるようでしたら、Plamo
2.0 で使っている glibc-2.1.2 のソースコードおよびパッチは
ftp://sv.linuxjp.org/pub/Glibc2/ 以下に
glibc-2.1.2.tar.gz (glibc-2.1.2 本体)
glibc-2.1.1pre3-localedef.fix.gz (日本語 locale 用パッチ)
glibc-crypt-2.1.tar.gz (crypt ライブラリ)
glibc-linuxthreads-2.1.2.tar.gz (thread ライブラリ)
がありますのでご利用くださいませ。
# ただ、libc 回りは失敗するとシステムが動作不能になるので、十分御注意
# くださいませ。
--------
こじま
- Follow-Ups
-
- [plamo:06907] Re: Don't exist /usr/lib/libpthread.so, Seiji Fukagawa
- References
-
- [plamo:06814] Don't exist /usr/lib/libpthread.so, Seiji Fukagawa
- [plamo:06827] Re: Don't exist /usr/lib/libpthread.so, KOJIMA Mitsuhiro
- [plamo:06851] Re: Don't exist /usr/lib/libpthread.so, Seiji Fukagawa
[検索ページ]
[メール一覧]
Plamo ML 公開システム