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
|