Назад | Перейти на главную страницу

Проблемы с получением JPackage для просмотра Sun JVM на CentOS5

Я хочу получить Tomcat6 на CentOS 5 полностью на основе RPM. JPackage кажется отличным вариантом для этого, поэтому я добавил репо и теперь пытаюсь заставить его работать.

В инструкции говорится, что нужно установить загрузку JDK на основе RPM с сайта Sun, и я это сделал. Затем в инструкциях говорится об установке соответствующей библиотеки -compat из JPackage. В этот момент я получаю следующую ошибку:

[root@localhost bart]# rpm -ivh java-1.6.0-sun-compat-1.6.0.03-1jpp.i586.rpm 
error: Failed dependencies:
    jdk = 2000:1.6.0_03-fcs is needed by java-1.6.0-sun-compat-1.6.0.03-1jpp.i586
    jpackage-utils >= 0:1.7.3 is needed by java-1.6.0-sun-compat-1.6.0.03-1jpp.i586
[root@localhost bart]#

В частности, меня смущает то, что он, похоже, ищет версию Fedora для Sun JVM. Инструкции JPAckage действительно предупреждают, что использование загрузки на основе RPM жизненно важно, поэтому я обязательно это сделал.

Если это поможет, вот моя версия Java:

[root@localhost bart]# java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Server VM (build 16.0-b13, mixed mode)
[root@localhost bart]#

Есть идеи, что я пропустил или сделал неправильно?

Спасибо,

Барт.

Вы пытаетесь установить совместимую библиотеку для версии JDK, отличной от той, которую вы установили из Sun.

Вы пытаетесь установить compat-1.6.0.03 что соответствует JDK 1.6.0_03.

Ваша версия java - 1.6.0_18. Вы можете получить 1.6.0_03 Вот

Похоже, они не обновляли библиотеки совместимости с U3 (1.6.0_03)

Этот драгоценный камень немного спрятан в их инструкциях (выделено мной):

Убедись в сопоставьте версию пакета -compat с установленным вами SDK на первом этапе. RPM -compat требует, чтобы на предыдущем шаге использовался самораспаковывающийся файл RPM от Sun, а не простой (не RPM).

Я бы предложил удалить 1.6.0_18 jdk и установить 1.6.0_03 jdk. Это должно доставить вас туда, куда вам нужно.

В дополнение к ответу Зайфера, вам нужен правильный -compat rpm, соответствующий вашей установленной JVM, похоже, что rpm напоминает вам, что вам также необходимо установить jpackage-utils rpm соответствующей версии.

Я также хотел бы предупредить вас, что скриптлет postinstall иногда не работает правильно при попытке настроить альтернативы (я считаю, что это опечатка). Вы сможете извлечь скриптлет через rpm -q --scripts <rpm package name>, поместите содержимое после установки в файл .sh, исправьте опечатки, затем выполните исправленный сценарий через sh mypostinstall.sh чтобы правильно настроить альтернативы для java и javac.

Я просто люблю иронию. Отказавшись от JPackage, я пошел искать хорошие инструкции по установке Tomcat6 вручную и запускать его от имени непривилегированного пользователя и иметь хорошие сценарии запуска. Что я нашел вместо этого? Решение для установки Tomcat6 на Centos5 с помощью JPackage!

Ключом является эта сторонняя библиотека совместимости, которая исправляет все странные проблемы CentOS 5 с JPackage: http://plone.lucidsolutions.co.nz/linux/centos/jpackage-jpackage-utils-compatibility-for-centos-5.x

Для полноты я нашел здесь инструкции: http://wavded.tumblr.com/post/258713913/installing-tomcat-6-on-centos-5

Барт.