Uploaded image for project: 'JBoss Web Server'
  1. JBoss Web Server
  2. JWS-657

tomcat-native installs RHEL apr in addition to jbcs-httpd24-httpd-libs

XMLWordPrintable

    • Release Notes
    • Hide
      Installing the tomcat-native RPM requires the Red Hat Enterprise Linux apr and apr-util packages to be installed.

      This is a known issue in JBoss Web Server 3.1.0.
      Show
      Installing the tomcat-native RPM requires the Red Hat Enterprise Linux apr and apr-util packages to be installed. This is a known issue in JBoss Web Server 3.1.0.
    • Hide

      1) Install tomcat-native and observe the OS' apr packages being installed:

      [root@rhel68 ~]# yum install tomcat-native
      Loaded plugins: product-id, search-disabled-repos, security, subscription-manager
      Setting up Install Process
      Resolving Dependencies
      --> Running transaction check
      ---> Package tomcat-native.x86_64 0:1.2.8-9.redhat_9.ep7.el6 will be installed
      --> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: tomcat-native-1.2.8-9.redhat_9.ep7.el6.x86_64
      --> Processing Dependency: jbcs-httpd24-httpd-libs for package: tomcat-native-1.2.8-9.redhat_9.ep7.el6.x86_64
      --> Processing Dependency: libapr-1.so.0()(64bit) for package: tomcat-native-1.2.8-9.redhat_9.ep7.el6.x86_64
      --> Running transaction check
      ---> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed
      ---> Package jbcs-httpd24-httpd-libs.x86_64 0:2.4.23-114.jbcs.el6 will be installed
      ---> Package jbcs-httpd24-openssl-libs.x86_64 1:1.0.2h-12.jbcs.el6 will be installed
      --> Processing Dependency: jbcs-httpd24-runtime for package: 1:jbcs-httpd24-openssl-libs-1.0.2h-12.jbcs.el6.x86_64
      --> Running transaction check
      ---> Package jbcs-httpd24-runtime.noarch 0:1-3.jbcs.el6 will be installed
      --> Finished Dependency Resolution
      
      Dependencies Resolved
      
      ===================================================================================================================================================================================================================
       Package                                                     Arch                                     Version                                                      Repository                                 Size
      ===================================================================================================================================================================================================================
      Installing:
       tomcat-native                                               x86_64                                   1.2.8-9.redhat_9.ep7.el6                                     jws-3.1                                    62 k
      Installing for dependencies:
       apr                                                         x86_64                                   1.3.9-5.el6_2                                                jbcs-1                                    122 k
       jbcs-httpd24-httpd-libs                                     x86_64                                   2.4.23-114.jbcs.el6                                          jbcs-1                                    248 k
       jbcs-httpd24-openssl-libs                                   x86_64                                   1:1.0.2h-12.jbcs.el6                                         jbcs-1                                    1.1 M
       jbcs-httpd24-runtime                                        noarch                                   1-3.jbcs.el6                                                 jbcs-1                                    833 k
      
      Transaction Summary
      ===================================================================================================================================================================================================================
      Install       5 Package(s)
      
      Total download size: 2.3 M
      Installed size: 4.3 M
      Is this ok [y/N]: 
      
      Show
      1) Install tomcat-native and observe the OS' apr packages being installed: [root@rhel68 ~]# yum install tomcat-native Loaded plugins: product-id, search-disabled-repos, security, subscription-manager Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package tomcat-native.x86_64 0:1.2.8-9.redhat_9.ep7.el6 will be installed --> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: tomcat-native-1.2.8-9.redhat_9.ep7.el6.x86_64 --> Processing Dependency: jbcs-httpd24-httpd-libs for package: tomcat-native-1.2.8-9.redhat_9.ep7.el6.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: tomcat-native-1.2.8-9.redhat_9.ep7.el6.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed ---> Package jbcs-httpd24-httpd-libs.x86_64 0:2.4.23-114.jbcs.el6 will be installed ---> Package jbcs-httpd24-openssl-libs.x86_64 1:1.0.2h-12.jbcs.el6 will be installed --> Processing Dependency: jbcs-httpd24-runtime for package: 1:jbcs-httpd24-openssl-libs-1.0.2h-12.jbcs.el6.x86_64 --> Running transaction check ---> Package jbcs-httpd24-runtime.noarch 0:1-3.jbcs.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved =================================================================================================================================================================================================================== Package Arch Version Repository Size =================================================================================================================================================================================================================== Installing: tomcat-native x86_64 1.2.8-9.redhat_9.ep7.el6 jws-3.1 62 k Installing for dependencies: apr x86_64 1.3.9-5.el6_2 jbcs-1 122 k jbcs-httpd24-httpd-libs x86_64 2.4.23-114.jbcs.el6 jbcs-1 248 k jbcs-httpd24-openssl-libs x86_64 1:1.0.2h-12.jbcs.el6 jbcs-1 1.1 M jbcs-httpd24-runtime noarch 1-3.jbcs.el6 jbcs-1 833 k Transaction Summary =================================================================================================================================================================================================================== Install 5 Package(s) Total download size: 2.3 M Installed size: 4.3 M Is this ok [y/N]:

      As of the new jbcs-httpd24-httpd-libs sub-package introduced by JBCS-252 there is an issue with the installation process of tomcat-native. The jbcs-httpd24-httpd-libs package filters out the auto-provides/requires of the libapr SOs, so now the auto-requires for APR that's generated by tomcat-native is unsatisfied. This means that even though there is an explicit dependency on jbcs-httpd24-httpd-libs, which provides the required APR libraries, tomcat-native will also install apr/apr-util as a dependency.

      We need to filter out the APR libraries from the auto generated requires of tomcat-native.

      It is also noteworthy that this isn't a functional issue, tomcat-native still uses the right APR because of the rpath of the SO.

      # grep "APR version" /var/log/tomcat8/catalina.2017-02-27.log 
      27-Feb-2017 14:15:00.974 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.8 using APR version 1.5.2.
      # ldd /usr/lib64/libtcnative-1.so | grep -i apr
      	libapr-1.so.0 => /opt/rh/jbcs-httpd24/root/usr/lib64/libapr-1.so.0 (0x00007f2c47898000)
      

      The biggest problem that I see coming from this is that if the RHEL repository is disabled (and therefore an install can't get access to apr/apr-util) the tomcat-native installation will fail because it can't get the APR libraries that it doesn't even need/use.

            rhn-support-csutherl Coty Sutherland
            rhn-support-csutherl Coty Sutherland
            Jan Onderka Jan Onderka
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: