Hi, 
I built APR 1.4.8 from source code as non-root user on redhat linux and 
deployed to /apps/mstrat/apache/apr-1.4.8
Installed Tomcat 7.0.42 at  /apps/mstrat/apache-tomcat-7.0.42 by untar the 
.tar.gz file

The Tomcat lib folder doesn't have libapr-1.so.0 


I compiled the tomcat native library 1.1.27 as below

./configure --with-apr=/apps/mstrat/apache/apr-1.4.8 \
                --with-java-home=/apps/mstrat/java/jdk1.7.0_25 \
                --with-ssl=/apps/mstrat/apache/openssl-1.0.1e    \
                --prefix=/apps/mstrat/apache-tomcat-7.0.42
make
make install

I see new libraries at /apps/mstrat/apache-tomcat-7.0.42/lib
libtcnative-1.so.0.1.27
libtcnative-1.so.0 -> libtcnative-1.so.0.1.27
libtcnative-1.so ->
 libtcnative-1.so.0.1.27
libtcnative-1.la
libtcnative-1.a
but NOT libapr-1.so.0

libapr-1.so.0 and libapr-1.so.0.4.8 are available at APR install directory 
(/apps/mstrat/apache/apr-1.4.8/lib)

When I start Tomcat, I see the following error in the log file
catalina.out:java.lang.UnsatisfiedLinkError:
 /apps/mstrat/apache-tomcat-7.0.42/lib/libtcnative-1.so.0.1.27: 
libapr-1.so.0: cannot open shared object file: No such file or directory

From tomcat lib folder
strings libtcnative-1.so.0.1.27  | more | grep libapr
libapr-1.so.0

On manually copying the libapr-1.so.0 from APR lib to Tomcat lib, the error is 
gone on tomcat restart

Why doesn't Tomcat native library build&install deploy libapr-1.so.0 to the 
Tomcat lib folder or the Tomcat include this library by default?

We cannot ask root user to install these software and I want to make Tomcat 
work as non-root user without installing any in global paths/libraries,
so when we compile and deploy to our local folders I would expect it to work 
'out of the box'


ps : sorry about earlier post, I used 'reply' to an existing thread and 
overwrote the subject and content with my topic, without realizing it was still 
'chained' to the original thread
Thanks,
-sri

Reply via email to