From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040124 Galeon/1.3.12 Description of problem: When starting tomcat on a cleanly installed Red Hat AS3 on AMD64 (x86_64) we get unresolved symbols. The libraries seems to be stripped. The full error for reference is: Bootstrap: Create Catalina server Created catalinaLoader in: /usr/share/tomcat/server/lib Exception in thread "main" java.lang.UnknownError: /usr/lib64/lib-com-redhat-tomcat-4.1.27.so: undefined symbol: _ZN3org6apache8catalina6 logger10LoggerBase12getContainerEv at gnu.gcj.runtime.SharedLibHelper.init() (/lib64/ssa/libgcj.so.4.0.0) at gnu.gcj.runtime.SharedLibHelper.ensureInit() (/lib64/ssa/libgcj.so.4.0.0) at gnu.gcj.runtime.SharedLibHelper.findClass(java.lang.String) (/lib64/ssa/libgcj.so.4.0.0) at java.net.URLClassLoader.findClass(java.lang.String) (/lib64/ssa/libgcj.so.4.0.0) at org.apache.catalina.loader.StandardClassLoader.findClass(java.lang.String) (/usr/lib64/lib-org-apache-catalina-bootstrap-4.1.27.so) at org.apache.catalina.loader.StandardClassLoader.loadClass(java.lang.String, boolean) (/usr/lib64/lib-org-apache-catalina-bootstrap-4 .1.27.so) at org.apache.catalina.startup.BootstrapService.init(java.lang.String[]) (/usr/lib64/lib-org-apache-catalina-bootstrap-4.1.27.so) at _Jv_ThreadRun(java.lang.Thread) (/lib64/ssa/libgcj.so.4.0.0) at _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/lib64/ssa/libgcj.so.4.0.0) at __libc_start_main (/lib64/tls/libc-2.3.2.so) Version-Release number of selected component (if applicable): tomcat-4.1.27-8 How reproducible: Always Steps to Reproduce: 1. Installed RH AS3 on x86_64 2. Install tomcat and dependencies 3. Start tomcat Actual Results: Logfile reports unresolved symmbols. Expected Results: That it works. Additional info: Libraries in tomcat-libs seems to be stripped ?
what does the command 'ldd /usr/lib64/lib-com-redhat-tomcat.so' say?
I checked it and everything looked normal. Here's the output: [root@dev-srv5 lib]# ldd /usr/lib64/lib-com-redhat-tomcat.so lib-org-apache-catalina-4.1.27.so => /usr/lib64/lib-org-apache-catalina-4.1.27.so (0x0000002a95674000) lib-org-apache-commons-logging-1.0.2.so => /usr/lib64/lib-org-apache-commons-logging-1.0.2.so (0x0000002a95ad5000) libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a95be9000) libgcc_s.so.1 => /lib64/ssa/libgcc_s.so.1 (0x0000002a95e2c000) libgcj.so.4 => /lib64/ssa/libgcj.so.4 (0x0000002a95f37000) libm.so.6 => /lib64/tls/libm.so.6 (0x0000002a96c59000) libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a96de1000) libz.so.1 => /usr/lib64/libz.so.1 (0x0000002a96ef5000) libdl.so.2 => /lib64/libdl.so.2 (0x0000002a97003000) lib-org-apache-catalina-bootstrap-4.1.27.so => /usr/lib64/lib-org-apache-catalina-bootstrap-4.1.27.so (0x0000002a97106000) lib-org-apache-tomcat-util-4.1.27.so => /usr/lib64/lib-org-apache-tomcat-util-4.1.27.so (0x0000002a97221000) lib-org-apache-naming-4.1.27.so => /usr/lib64/lib-org-apache-naming-4.1.27.so (0x0000002a973b6000) lib-javax-servlet-4.1.7.so => /usr/lib64/lib-javax-servlet-4.1.7.so (0x0000002a9751a000) lib-javax-xml-parsers-2.2.1.so => /usr/lib64/lib-javax-xml-parsers-2.2.1.so (0x0000002a97675000) lib-org-xml-sax-2.2.1.so => /usr/lib64/lib-org-xml-sax-2.2.1.so (0x0000002a97bb0000) lib-org-w3c-dom-2.2.1.so => /usr/lib64/lib-org-w3c-dom-2.2.1.so (0x0000002a97ce0000) lib-org-apache-commons-beanutils-1.6.1.so => /usr/lib64/lib-org-apache-commons-beanutils-1.6.1.so (0x0000002a97de2000) lib-org-apache-commons-digester-1.4.1.so => /usr/lib64/lib-org-apache-commons-digester-1.4.1.so (0x0000002a97f51000) lib-org-apache-regexp-1.2.so => /usr/lib64/lib-org-apache-regexp-1.2.so (0x0000002a980a3000) lib-org-apache-commons-fileupload-1.0.so => /usr/lib64/lib-org-apache-commons-fileupload-1.0.so (0x0000002a981bc000) lib-javax-management-1.1.1.so => /usr/lib64/lib-javax-management-1.1.1.so (0x0000002a982d2000) lib-org-apache-commons-modeler-1.0.so => /usr/lib64/lib-org-apache-commons-modeler-1.0.so (0x0000002a98579000) /lib64/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000) lib-org-apache-naming-bootstrap-4.1.27.so => /usr/lib64/lib-org-apache-naming-bootstrap-4.1.27.so (0x0000002a9869a000) lib-org-apache-commons-collections-2.1.so => /usr/lib64/lib-org-apache-commons-collections-2.1.so (0x0000002a9879c000) lib-javax-mail-20031006.so => /usr/lib64/lib-javax-mail-20031006.so (0x0000002a98989000) lib-javax-xml-transform-2.4.1.so => /usr/lib64/lib-javax-xml-transform-2.4.1.so (0x0000002a98b2f000) lib-org-apache-bcel-5.0.so => /usr/lib64/lib-org-apache-bcel-5.0.so (0x0000002a98c4c000) lib-javax-activation-20030319.so => /usr/lib64/lib-javax-activation-20030319.so (0x0000002a98f48000) We've compiled a new version with symbol info (%define __post_os_install %{nil}) and ran tomcat again. It seemed to get past where it failed before. Now we get: Starting tomcat: tomcat: killed with signal 6 [FAILED] And in the tomcat.out logfile: Bootstrap: Create Catalina server Created catalinaLoader in: /usr/share/tomcat/server/lib [INFO] Registry - -Loading registry information [INFO] Registry - -Creating new Registry instance [INFO] Registry - -Creating MBeanServer And /var/log/messages has: Jan 30 13:23:56 dev-srv5 tomcat: tomcat: killed with signal 6 Jan 30 13:23:56 dev-srv5 tomcat: tomcat startup failed It's strange that tomcat is aborting without giving proper debug information.
The new packages I created, have this difference for the given symbol when disabling any stripping. The original package: [root@dev-srv5 x86_64]# objdump -T /usr/lib64/lib-com-redhat-tomcat-4.1.27.so | grep Container 0000000000000000 D *UND* 0000000000000000 _ZN3org6apache8catalina6logger10LoggerBase12getContainerEv The non-stripped package (that works for the initially reported problem): [root@dev-srv5 x86_64]# objdump -T /usr/lib64/lib-com-redhat-tomcat-4.1.27.so | grep "ContainerEv$" 0000000000000000 DF *UND* 000000000000000a _ZN3org6apache8catalina6logger10LoggerBase12getContainerEv Where or why the SIGABRT occurs is still a problem.
Tomcat works in Fedora.
That's fine, but I can't tell the customer to try Fedora when they've payed for RHAS3 licenses. Meanwhile they've compiled and installed everything themselves without using packages, leaving them displeased. I hope to be able to recompile the Fedora packages on RHEL3 and have a working Tomcat for a next customer without too much hassle. Thanks for the feedback.