[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:29026] Re: glibc / ld-linux.so.2 / LD_PRELOAD / LD_LIBRARY_PATH



加藤泰文です.

>>> On Fri, 21 Mar 2008 00:12:29 +0900
    in message   "[plamo:29025] Re: glibc / ld-linux.so.2 / LD_PRELOAD / LD_LIBRARY_PATH"
                  TOYAMA Shin-ichi-san wrote:

> 太古のメールにフォローします。
   : (snip)
> glibc-faqで示されているコマンドは、「ld-linux.so.2の引数に実行させ
> たいバイナリを指定する」と読むようです。

おぉー,なるほど.もう,この太古のメールで困ったいた時のプロジェクト自
体がポシャってしまったので,今更 java を試してみるという気にはならない
のですが,この時の glibc 2.0 な環境はしぶとく生き残っているので,機会
があれば参考にさせていただきます.

この時は chroot 環境の中にさらに chroot 環境を作って解決したなあ.考え
るだけでも頭こんがらがりそうな構成だ.(^_^;)

---
この glibc 2.0 な chroot 環境について,最近ハマったことを.plamo に関
係ないし,とりあえず Subject とかそのままで.

この glibc 2.0 ベースに構築された環境があって,それを CentOS 4.x で動
かしたい,ということが最近ありました.この環境内で全て閉じているし,別
にハマることもないだろうと軽い気持ちで chroot 環境を CentOS 上で展開し
て,とりあえず
  # chroot /path/to/chroot
とやってみると,なんか SIGSEGV でお亡くなりになり,元の環境に帰ってき
てしまいます.

strace したりして,色々試して見て,ふと思いついて,chroot 内の bash を
static link したものにしてみると,見事に死にません.

chroot して,その中のライブラリ参照しているし,外の環境は関係ないだろ
う,と思っていたのですが,こういうこともあるんですね.

で,少しだけ原因追及してみました.とは言っても本質的な事ではないのです
が...

試しに CentOS 5.x な環境上にこの chroot 環境を展開して,同じく
  # chroot /path/to/chroot
とすると,普通に動きます.

そこで,CentOS 4.x に 5.x の kernel SRPM を持ってきて,カーネルを作っ
て,そのカーネルで起動して,同じ事をやると,死にませんでした.

というわけで,カーネルの何かが悪さをしている,ということまでは分かりま
した.これ以上は時間も能力もないのでやってません.

plamo を使うのには全く無関係な話でした... ^^;

-- 
==============================================
((((    加藤泰文
○-○                karma @ jazz.email.ne.jp
==============================================
 (Web Page) http://www.ne.jp/asahi/ka/to/
==============================================

Follow-Ups
[plamo:29028] Re: glibc / ld-linux.so.2 / LD_PRELOAD /LD_LIBRARY_PATH, 名倉昭一
References
[plamo:29025] Re: glibc / ld-linux.so.2 / LD_PRELOAD / LD_LIBRARY_PATH, TOYAMA Shin-ichi

[検索ページ] [メール一覧]
Plamo ML 公開システム