tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Rengifo <jmreng...@gmail.com>
Subject Fatal: relocation error: file libapr-0.so.0: symbol __divdi3: referenced symbol not found
Date Fri, 03 Sep 2004 21:40:11 GMT
Hi to all ...

I've install Apache2 and Tomcat5 last versions from the Apache project
web page, and they are currently well running standalone in my 64 bits
Solaris 9 Box, but now I need to connect them, so I installed the new
mod_jk2 connector, with succeeding results at the configure and make
steps, following the "HOWTO set up JK2 on Solaris 9 using ChannelUnix
(AF_UNIX socket)" document from
<http://archives.real-time.com/pipermail/tomcat-users/2002-November/085985.html>.
I also setup and export the environment variable
LD_LIBRARY_PATH=/usr/java/jre/bin and soft-link the libjkjni.so
dynamic library file from the $APACHE/module/libjkjni.so to the
LD_LIBRARY_PATH so I can avoid this error message:

I've configured and make the Apache2 and the JK2 connector in my own box

But now, I am facing a problem while starting tomcat… This is what I
see in my catalina.out log file:

1-Sep-2004 1:46:23 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-9092
1-Sep-2004 1:46:23 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2007 ms
1-Sep-2004 1:46:23 PM org.apache.catalina.core.StandardService start
INFO: Starting service Tomcat-Standalone
1-Sep-2004 1:46:23 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.0.27
1-Sep-2004 1:46:23 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
1-Sep-2004 1:46:25 PM org.apache.catalina.core.StandardHost getDeployer
INFO: Create Host deployer for direct deployment ( non-jmx )
1-Sep-2004 1:46:25 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-9092
1-Sep-2004 1:46:26 PM org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
ld.so.1: /usr/java/bin/java: fatal: relocation error: file
/usr/local/apache-httpd-2.0.50/lib/libapr-0.so.0: symbol __divdi3:
referenced symbol not found


I ran the ldd utility on the jni dynamic library "libjkjni.so" with
the following results:

ldd libjkjni.so
libcrypt_i.so.1 => /usr/lib/libcrypt_i.so.1
libapr-0.so.0 =>
/usr/local/apache-httpd-2.0.50/lib/libapr-0.so.0
libc.so.1 => /usr/lib/libc.so.1
libgen.so.1 => /usr/lib/libgen.so.1
libsendfile.so.1 => /usr/lib/libsendfile.so.1
librt.so.1 => /usr/lib/librt.so.1
libm.so.1 => /usr/lib/libm.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libpthread.so.1 => /usr/lib/libpthread.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libmd5.so.1 => /usr/lib/libmd5.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Sun-Fire-V210/lib/libc_psr.so.1
libthread.so.1 => /usr/lib/libthread.so.1
/usr/platform/SUNW,Sun-Fire-V210/lib/libmd5_psr.so.1

I notice that the library suposed to have the problem was there
"/usr/local/apache-httpd-2.0.50/lib/libapr-0.so.0" so I ran "nm"
utility on it with the following results:

nm /usr/local/apache-httpd-2.0.50/lib/libapr-0.so.0 | grep div
[337] | 0| 0|FUNC |GLOB |0 |UNDEF |.div
[640] | 0| 0|FUNC |GLOB |0 |UNDEF |.udiv
[909] | 0| 0|NOTY |GLOB |0 |UNDEF |__divdi3
[938] | 0| 0|NOTY |GLOB |0 |UNDEF |__udivdi3

So it seems that the problem is on the libapr-0.so.0.... because there
is the variable "__divdi3" wich is reporting the relocation error...

Then, I ran the ldd utility on the libapr-0.so.0 lib, with the
following results:

/usr/local/apache-httpd-2.0.50/lib ldd libapr-0.so.0
libsendfile.so.1 => /usr/lib/libsendfile.so.1
librt.so.1 => /usr/lib/librt.so.1
libm.so.1 => /usr/lib/libm.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libpthread.so.1 => /usr/lib/libpthread.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libmd5.so.1 => /usr/lib/libmd5.so.1
libmp.so.2 => /usr/lib/libmp.so.2
libthread.so.1 => /usr/lib/libthread.so.1
/usr/platform/SUNW,Sun-Fire-V210/lib/libc_psr.so.1
/usr/platform/SUNW,Sun-Fire-V210/lib/libmd5_psr.so.1

Then I skim those libs for the symbol, and don't find it... What does this mean?

My problem is definitive related with the libjkjni.so lib, when I add
the path of the library to the LD_LIBRARY_PATH I get the error
message:

ld.so.1: /usr/java/bin/java: fatal: relocation error: file
/usr/local/apache-httpd-2.0.50/lib/libapr-0.so.0: symbol __divdi3:
referenced symbol not found

But, when take this path out of the LD_LIBRARY_PATH the error
disappears, but also disappears the AF_SOCKET support of the
connector, and got this message:

INFO: APR not loaded, disabling jni components: java.io.IOException:
java.lang.UnsatisfiedLinkError: no jkjni in java.library.path.

Please, any comment from you would be very helpful.

Regards

Jonathan M. Rengifo

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Mime
View raw message