[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:26698] glibc / ld-linux.so.2 / LD_PRELOAD / LD_LIBRARY_PATH
-
From:KATOH Yasufumi
-
Date:Fri, 6 Jan 2006 15:31:44 +0900 (JST)
- Subject: [plamo:26698] glibc / ld-linux.so.2 / LD_PRELOAD / LD_LIBRARY_PATH
- From: KATOH Yasufumi <karma@xxxxxxxxxxxxxxxx>
- Date: Fri, 06 Jan 2006 15:31:38 +0900
- User-agent: Wanderlust/2.15.2 (Almost Unreal) SEMI/1.14.6 (Maruoka)FLIM/1.14.7 (Sanj APEL/10.6 Emacs/21.3(i686-pc-linux-gnu) MULE/5.0 (SAKAKI)
加藤泰文です.
# Plamo とは殆んど関係ない質問ですが...
glibc 2.0.x な環境 (RedHat 5.x の頃か!) 上で java (j2sdk 1.4.2) を動か
そうとしています.が,2.0.x では動かないので,glibc 2.1.3 な環境を持っ
てきて,LD_PRELOAD やら LD_LIBRARY_PATH を工夫したら動かんかなあ,と思っ
てやっているのですが,成功はしてません.
そもそも,こういうことは可能なのでしょうか?
どうも,glibc 2.0.x な ld-linux.so.2 では glibc 2.1.x な glibc ライブ
ラリはロード出来ないっぽいです.
---
以下,やったこと (長文)
# ldd java
libpthread.so.0 => /lib/libpthread.so.0 (0x40018000)
libdl.so.2 => /lib/libdl.so.2 (0x4002a000)
libc.so.6 => /lib/libc.so.6 (0x4002d000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
というわけで,/usr/local/java/glibc というディレクトリに glibc 2.1.3
のファイル一式 (RedHat 6.x 辺りの RPM を展開) を置いて...
(1) とりあえず LD_PRELOAD で
# export LD_PRELOAD="/usr/local/java/glibc/lib/ld-linux.so.2 \
> /usr/local/java/glibc/lib/libpthread.so.0 \
> /usr/local/java/glibc/lib/libdl.so.2 \
> /usr/local/java/glibc/lib/libc.so.6"
# ls
ls: error in loading shared libraries
/usr/local/java/glibc/lib/libc.so.6: undefined symbol: _dl_initial_searchlist
# /usr/local/java/j2sdk1.4.2_09/bin/java -version
/usr/local/java/j2sdk1.4.2_09/bin/java: error in loading shared libraries
/usr/local/java/glibc/lib/libc.so.6: undefined symbol: _dl_initial_searchlist
ダメ.
(2) なら ld-linux.so.2 も PRELOAD に入れちゃえ!
# export LD_PRELOAD="/usr/local/java/glibc/lib/ld-linux.so.2 \
> /usr/local/java/glibc/lib/libpthread.so.0 \
> /usr/local/java/glibc/lib/libdl.so.2 \
> /usr/local/java/glibc/lib/libc.so.6"
# /usr/local/java/j2sdk1.4.2_09/bin/java -version
Segmentation fault
# ls
Segmentation fault
ダメ.
(3) LD_LIBRARY_PATH でやってみよう.
# export LD_LIBRARY_PATH="/usr/local/java/glibc/lib"
# ls
ls: error in loading shared libraries
/usr/local/java/glibc/lib/libc.so.6: undefined symbol: _dl_initial_searchlist
# /usr/local/java/j2sdk1.4.2_09/bin/java -version
/usr/local/java/j2sdk1.4.2_09/bin/java: error in loading shared libraries
/usr/local/java/glibc/lib/libc.so.6: undefined symbol: _dl_initial_searchlist
(4) http://www.gnu.org/software/libc/FAQ.html#s-3.18 を参考に.
# export LD_LIBRARY_PATH="/usr/local/java/glibc/lib \
> /usr/local/java/glibc/lib/ld-linux.so.2 \
> /bin/ls \
> /usr/local/java/j2sdk1.4.2_09/bin/java"
# ls
(正常に動作)
# /usr/local/java/j2sdk1.4.2_09/bin/java -version
Segmentation fault
ls は動くなあ...
(5) でも LD_LIBRARY_PATH ってコロン区切りでは?
# export LD_LIBRARY_PATH="/usr/local/java/glibc/lib: \
> /usr/local/java/glibc/lib/ld-linux.so.2: \
> /bin/ls: \
> /usr/local/java/j2sdk1.4.2_09/bin/java"
# ls
ls: error in loading shared libraries
/usr/local/java/glibc/lib/libc.so.6: undefined symbol: _dl_initial_searchlist
# /usr/local/java/j2sdk1.4.2_09/bin/java -version
/usr/local/java/j2sdk1.4.2_09/bin/java: error in loading shared libraries
/usr/local/java/glibc/lib/libc.so.6: undefined symbol: _dl_initial_searchlist
うむむ.
--
==============================================
(((( 加藤泰文
○-○ karma @ jazz.email.ne.jp
==============================================
(Web Page) http://park2.wakwak.com/%7Ekarma/
==============================================
- Follow-Ups
-
- [plamo:26699] Re: glibc / ld-linux.so.2 / LD_PRELOAD /LD_LIBRARY_PATH, 名倉昭一
[検索ページ]
[メール一覧]
Plamo ML 公開システム