RHEL6 に JDK をインストールしようとすると、エラーが発生。
[rhel6]# ./jdk-6u31-linux-i586.bin
Unpacking...
Checksumming...
Extracting...
./jdk-6u31-linux-i586.bin: ./install.sfx.10908: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Failed to extract the files. Please refer to the Troubleshooting section of the Installation Instructions on the download page for more information.
Google 先生によると、ld-linux.so.2 は libstd++ パッケージに入っているらしい。
[rhel6]# rpm -q libstdc++
libstdc++-4.4.6-3.el6.x86_64
既に入ってますが。RHEL5 ではどうだったかというと、
[rhel5]# rpm -q libstdc++
libstdc++-4.1.2-46.el5
libstdc++-4.1.2-46.el5
ああ、分かった。64bit OS に 32bit JDK を入れようとしたからだ。つまり、
- 64bit RHEL に 32bit JDK を入れる場合、32bit libstdc++ パッケージが必要。
- 64bit RHEL5 には 32bit libstdc++ が入っているが、64bit RHEL6 には入っていない。
ならば RHEL6 DVD から入れれば解決・・・、
[rhel6]# rpm -ivh libstdc++-4.4.6-3.el6.i686.rpm
warning: libstdc++-4.4.6-3.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
error: Failed dependencies:
ld-linux.so.2 is needed by libstdc++-4.4.6-3.el6.i686
ld-linux.so.2(GLIBC_2.3) is needed by libstdc++-4.4.6-3.el6.i686
libc.so.6 is needed by libstdc++-4.4.6-3.el6.i686
libc.so.6(GLIBC_2.0) is needed by libstdc++-4.4.6-3.el6.i686
libc.so.6(GLIBC_2.1) is needed by libstdc++-4.4.6-3.el6.i686
libc.so.6(GLIBC_2.1.3) is needed by libstdc++-4.4.6-3.el6.i686
libc.so.6(GLIBC_2.2) is needed by libstdc++-4.4.6-3.el6.i686
libc.so.6(GLIBC_2.3) is needed by libstdc++-4.4.6-3.el6.i686
libc.so.6(GLIBC_2.3.2) is needed by libstdc++-4.4.6-3.el6.i686
libc.so.6(GLIBC_2.4) is needed by libstdc++-4.4.6-3.el6.i686
libgcc_s.so.1 is needed by libstdc++-4.4.6-3.el6.i686
libgcc_s.so.1(GCC_3.0) is needed by libstdc++-4.4.6-3.el6.i686
libgcc_s.so.1(GCC_3.3) is needed by libstdc++-4.4.6-3.el6.i686
libgcc_s.so.1(GCC_4.2.0) is needed by libstdc++-4.4.6-3.el6.i686
libgcc_s.so.1(GLIBC_2.0) is needed by libstdc++-4.4.6-3.el6.i686
libm.so.6 is needed by libstdc++-4.4.6-3.el6.i686
libm.so.6(GLIBC_2.0) is needed by libstdc++-4.4.6-3.el6.i686
依存関係が うぜえ。速攻で諦めて、素直に 64bit JDK を入れることにした。
JDK はサイズが大きいから自作インストールメディアに 32bit 版と 64 bit 版の両方を入れるのが嫌だったが、諦めた。現場 SE が自力で libstdc++ を入れられると期待するほど、私はお人好しじゃない。
2017-05-07 追記
今まで放ったらかしにしておいて申し訳ないが、このエントリは嘘です。
Google 先生によると、ld-linux.so.2 は libstd++ パッケージに入っているらしい。
当時のことを思い出せるはずもないが、実際に JDK が動作するシステムで下記のように調べれば、
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.8 (Santiago)
# rpm -q --whatprovides /lib64/ld-linux-x86-64.so.2
glibc-2.12-1.192.el6.x86_64
ld-linux.so.2 は glibc パッケージに入っていることが分かる。glibc であれば、依存関係は(私の環境では) nss-softokn-freebl だけになる。それに OS メディアがあるなら、複雑な依存関係であったとしても、yum に解決してもらえる。
# yum -c /media/media.repo --setopt InstallMedia.baseurl=file:///media install glibc.i686
Setting up Install Process
InstallMedia | 4.1 kB 00:00 ...
InstallMedia/primary_db | 3.1 MB 00:03 ...
Resolving Dependencies
--> Running transaction check
---> Package glibc.i686 0:2.12-1.192.el6 will be installed
--> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.192.el6.i686
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.192.el6.i686
--> Running transaction check
---> Package nss-softokn-freebl.i686 0:3.14.3-23.el6_7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
glibc i686 2.12-1.192.el6 InstallMedia 4.4 M
Installing for dependencies:
nss-softokn-freebl i686 3.14.3-23.el6_7 InstallMedia 157 k
Transaction Summary
================================================================================
Install 2 Package(s)
Total download size: 4.5 M
Installed size: 14 M
Is this ok [y/N]: y
Downloading Packages:
--------------------------------------------------------------------------------
Total 4.7 MB/s | 4.5 MB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : glibc-2.12-1.192.el6.i686 1/2
Installing : nss-softokn-freebl-3.14.3-23.el6_7.i686 2/2
Verifying : nss-softokn-freebl-3.14.3-23.el6_7.i686 1/2
Verifying : glibc-2.12-1.192.el6.i686 2/2
Installed:
glibc.i686 0:2.12-1.192.el6
Dependency Installed:
nss-softokn-freebl.i686 0:3.14.3-23.el6_7
Complete!
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。