четверг, 24 декабря 2009 г.

java 1.3 + Mandriva x86_64

Возникла тут странная задача... поставить java 1.3 на 64х разрядный
линукс 2009 года выпуска. Вот что из этого получилось.

Устанавливал я на Mandriva 2009.1 x86_64.

Имеем дистр j2sdk-1_3_1_20-linux-i586.bin
Устанавливаем его

В резултате получаем каталог с развернутой сдк 1.3
переходим туда
cd jdk1.3.1_20

пробуем запустить джаву
bin/java -version

в ответ получаем
Error: can't find libjava.so.

с помощью strace можно выяснить где ищется эта библиотечка
но дабы не мучить читателя просто скажу.
...
stat("bin/../jre/lib/x86_64/libjava.so", 0x7fff66e6f570) = -1 ENOENT (No such file or directory)
...

Естественно никаких x86_64 там нет и быть не может
создаем ссылку на i386

ln -s ~/bin/jdk1.3.1_20/jre/lib/i386 ~/bin/jdk1.3.1_20/jre/lib/x86_64

Пробуем опять запустить

bin/java -version

Получаем
bin/../jre/bin/realpath: line 22: ~/bin/jdk1.3.1_20/bin/../jre/bin/x86_64/realpath: Нет такого файла или каталога
bin/../jre/bin/realpath: line 22: exec: ~/bin/jdk1.3.1_20/bin/../jre/bin/x86_64/realpath: cannot execute: Нет такого файла или каталога
bin/java: line 54: /bin/realpath: Нет такого файла или каталога
bin/java: line 55: /bin/realpath: Нет такого файла или каталога
grep: /lib/jvm.cfg: Нет такого файла или каталога
grep: /lib/jvm.cfg: Нет такого файла или каталога
java was not found in /bin/x86_64/native_threads/java

т.е. тоже самое

Создаем ссылку

ln -s ~/bin/jdk1.3.1_20/jre/bin/i386 ~/bin/jdk1.3.1_20/jre/bin/x86_64

Пробуем снова

bin/java -version

Получаем
java was not found in
~/bin/jdk1.3.1_20/bin/x86_64/native_threads/java

тожесамое только для каталога ~/bin/jdk1.3.1_20/bin/i386

ln -s ~/bin/jdk1.3.1_20/bin/i386
~/bin/jdk1.3.1_20/bin/x86_64

и снова пробуем
bin/java -version
~/bin/jdk1.3.1_20/bin/x86_64/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory

Данная библиотека находится в пакете libstdc++2.10
ставим пакет

после этого
bin/java -version
java version "1.3.1_20"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_20-b03)
Java HotSpot(TM) Client VM (build 1.3.1_20-b03, mixed mode)

Формально все запустилось... и даже работает

Комментариев нет:

Отправить комментарий