Возникла тут странная задача... поставить 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)
Формально все запустилось... и даже работает
четверг, 24 декабря 2009 г.
суббота, 5 декабря 2009 г.
Cisco VPN client
Понадобилось по служебной необходимости впн поднять, да не просто впн а до цыски... и дескать лучше всего подходит для этого cisco vpn client. ну я не мудствуя лукаво поставил оный клиент из репозитария... А он не взлетает. библиотек требует.
после заклинания
# ldconfig
клиент от требования библиотек отказался.
Сделал я ему профиль как указано в служебной инструкции а он скотина работать опять не хотит
грит
execv:No such file or directory
и все тут.
Решил я ему объяснить что таки он не прав ни разу. И решил применить для пущей надежности убеждения кунг-фу, strace то бишь. Но поскольку vpnclient это скрипт, то и кунг-фу я ему вонзил прямотаки в нутро. Прям в вызов бинаря. И с добивающим приёмом '-f'.
После чего эта редиска безхвостая призналась что ненравится ей ни много ни мало символьная сылка на один из бинарей пакета. Который создается при установке пакета между прочим.
вот он виновник тунеядства.
/opt/cisco-vpnclient/bin/cvpnd
достаточно правильно пересоздать линку
# rm -f /opt/cisco-vpnclient/bin/cvpnd
# ln -s $(which cvpnd) /opt/cisco-vpnclient/bin/cvpnd
как все начинает работать.
Остался собсно гря один нерешеный вопрос... кудыж сборщики то смотрели?
нет.. вру... еще 1 есть...
Зачем оная софтина для запуска отключает ядра проца все кроме
одного... а когда стартанет снова подключает.. О_о... чуднО
после заклинания
# ldconfig
клиент от требования библиотек отказался.
Сделал я ему профиль как указано в служебной инструкции а он скотина работать опять не хотит
грит
execv:No such file or directory
и все тут.
Решил я ему объяснить что таки он не прав ни разу. И решил применить для пущей надежности убеждения кунг-фу, strace то бишь. Но поскольку vpnclient это скрипт, то и кунг-фу я ему вонзил прямотаки в нутро. Прям в вызов бинаря. И с добивающим приёмом '-f'.
После чего эта редиска безхвостая призналась что ненравится ей ни много ни мало символьная сылка на один из бинарей пакета. Который создается при установке пакета между прочим.
вот он виновник тунеядства.
/opt/cisco-vpnclient/bin/cvpnd
достаточно правильно пересоздать линку
# rm -f /opt/cisco-vpnclient/bin/cvpnd
# ln -s $(which cvpnd) /opt/cisco-vpnclient/bin/cvpnd
как все начинает работать.
Остался собсно гря один нерешеный вопрос... кудыж сборщики то смотрели?
нет.. вру... еще 1 есть...
Зачем оная софтина для запуска отключает ядра проца все кроме
одного... а когда стартанет снова подключает.. О_о... чуднО
Подписаться на:
Комментарии (Atom)