[Momonga-devel.ja:00306] Re: /bin/grep と /usr/lib/libpcre.so.0
- From: KOMATSU Shinichiro <koma2@xxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 7 Aug 2002 20:09:13 +0900
小松です。
From: Yonekawa Susumu <yone@xxxxxxxxxxxxx>
Subject: [Momonga-devel.ja:00304] /bin/grep と /usr/lib/libpcre.so.0
Date: Tue, Aug 06, 2002 at 10:36:35PM JST
> 私は / と /usr のパーティションを分けています。
> さらに、GNU grep は 2.5 から --pcre-regexp オプションが新設され、
> pcre をリンクするようになりました。
> grep は /bin/grep に、pcre は /usr/lib/libpcre.so.0 にあります。
>
> ということで、私の起動画面は、エラー表示がいっぱい出ます。
> ---
> grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
> ---
> 今のところ支障は無い(ほんとうか!?)ようなので、無視しています :-)
# いや、ホントは支障があるはず。。。(^_^;
> pcre パッケージの /usr/lib/libpcre.so.0* を /lib 下へ引越しするわけ
> にはいかないでしょうか?
RedHat (RawHide) の libpcre.so* も /lib の下にお引越しみたいですねぇ。
ということで、ちょっと試してみました。
%install でムリヤリ libpcre.so* を /lib に mv したのですが、
その状態で grep を rebuild したら
grep が libpcre を static link するようになってしまいました。。。
どうやら、
% pcre-config --libs
-L/usr/lib -lpcre
となっているため、pcre-config の出力から LDFLAGS を決めているモノ
(grep がそう) は /usr/lib に libpcre* をさがしに行き、
そこには libpcre.a しか見付からないため
dynamic link ができない、ということのようです。
pcre-config をいじって -L/lib -lpcre と吐かせるようにしてしまうと
今度は static link したい時に切ないことになるし。。。
ということで、/usr/lib/libpcre.so -> /lib/libpcre.so という
symlink を張ると、grep は問題なく libpcre.so を link するようになりました。
以上の変更をした pcre-3.9-2m1KOM.nosrc.rpm を
http://kamuy.c.u-tokyo.ac.jp/~koma2/comp/momonga/tmp/pcre-3.9-2m1KOM.nosrc.rpm
に置いておきましたので、ほかに問題が起きないか
テストしていただけませんか? > 特にオモコニストの人たち
問題なければ commit します。
# それとも、commit してからテスト、の方がいいのかな?
--
---------------------------------------
東京大学大学院総合文化研究科
広域科学専攻相関基礎科学系
佐々研究室 博士3年
小松 晋一朗
mailto:koma2@xxxxxxxxxxxxxxxxxxxx
http://kamuy.c.u-tokyo.ac.jp/~koma2/
---------------------------------------