Java, Tomcat and CL 6.5 update failure

chrismfz

Well-Known Member
Jul 4, 2007
127
1
68
Greece
cPanel Access Level
DataCenter Provider
Is there anyone out there having the same problem or it's just me ?

Updating a few servers to 6.5, all fine until I reached a server with tomcat installed.

Update broken due to dependencies. Digging the errors I found it couldn't update because of the java package that is required by tomcat rpm packages.

Even digging more and getting the rpm locally that the system thinks it doesn't exists, again I got the same error

Code:
---> Package java-1.7.0-openjdk-devel.x86_64 1:1.7.0.45-2.4.3.2.el6_4 will be updated
---> Package java-1.7.0-openjdk-devel.x86_64 1:1.7.0.45-2.4.3.3.el6 will be an update
--> Finished Dependency Resolution
Error: Package: easy-mysql-connector-java-5.1.25-0.noarch (installed)
           Requires: java7 >= 1.7.0
           Removing: 1:java-1.7.0-openjdk-1.7.0.45-2.4.3.2.el6_4.x86_64 (@cloudlinux-x86_64-server-6)
               java7 = 1:1.7.0
           Updated By: 1:java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 (/java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64)
               Not found
It seems that the system searches for java7 instead of openjdk-1.7.


Anyone else having same trouble when trying to update from 6.4 to 6.5 ?


---Edit---
As I was writing this Ken Folse was kind enough to dig deeper and find an internal case (84205) with this issue, quoting the temporary solution:

After further research, it appears this is due to our internal case # 84205. You can monitor our changelog for that case number for when a fix goes live. In the meantime, you can try the following workaround:

1. Run /scripts/easyapache once to have Tomcat fail as we add the java rpms during this steps if it isn't already installed (it wasn't on the test machines before this step).

2. Remove the java rpms that are 1 minor version higher

rpm -e --nodeps java-1.7.0-openjdk-devel-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

3. Set java* in the exclude line for /etc/yum.conf file so we don't re-force the new minor version (we do otherwise on /scripts/easyapache run)

-bash-4.1# grep exclude /etc/yum.conf
exclude=bind-chroot courier* dovecot* exim* filesystem httpd* java* mod_ssl* mydns* mysql* nsd* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*

3. Add the 1 version lower rpms from source

wget http://mirror.centos.org/centos/6.4...enjdk-devel-1.7.0.45-2.4.3.2.el6_4.x86_64.rpm
wget http://mirror.centos.org/centos/6.4...7.0-openjdk-1.7.0.45-2.4.3.2.el6_4.x86_64.rpm

rpm -Uvh java-1.7.0-openjdk-1.7.0.45-2.4.3.2.el6_4.x86_64.rpm
rpm -Uvh java-1.7.0-openjdk-devel-1.7.0.45-2.4.3.2.el6_4.x86_64.rpm

4. Re-run /scripts/easyapache to see that Tomcat now does not fail to compile on either CentOS 6.4 or CentOS 6.5 machines. I did this testing on the CentOS 6.5 test server for the workaround and left the CentOS 6.4 machine in the broken state with the 1 minor version higher java rpms
 
Last edited:

iseletsk

Well-Known Member
Verifed Vendor
It seems the problem is with : easy-mysql-connector-java-5.1.25-0.noarch it has dependencies that conflict with RHEL 6.5 (and as the result CL6.5/CentOS6.5)