I have a Tomcat webapp that needs LD_LIBRARY_PATH
to be set.
I'm using RHEL6 and Tomcat6 (from yum package manager), the webapp is called adore-djatoka
.
I'm starting tomcat by using a supplied script that exports a number of environment variables, but it appears that LD_LIBRARY_PATH
is being unset, I think this is a security feature, as the init script is run by user "root
" but tomcat is running as "tomcat
".
When I restart tomcat I see the following line in the logfile "djatoka.log
"
2013-01-04/10:25:04.118/EST [main] DEBUG envParams: LD_LIBRARY_PATH=null | null/kdu_compress
Which I read as telling me that the app is expecting LD_LIBRARY_PATH to be set, but finds it to be null, and hence it'll look for kdu_compress
in the directory null/
.
I have littered the startup script with echo
so I can see that LD_LIBRARY_PATH
is being set and exported, so I'm assuming it must be being unset.
There are a couple of scripts bundled with the webapp to test it's installed correctly and they run fine from the command line, but they are very short, they simply export the environment vars (including LD_LIBRARY_PATH
) and make a call to java.
I've tried adding
LD_LIBRARY_PATH="/opt/adore-djatoka-1.1/lib/Linux-x86-64"
export LD_LIBRARY_PATH
to /usr/share/tomcat6/bin/setenv.sh
I've tried adding
LD_LIBRARY_PATH="/opt/adore-djatoka-1.1/lib/Linux-x86-64"
to `/etc/tomcat6/tomcat6.conf
LD_LIBRARY_PATH
is already exported in the startup script which goes on to call /etc/init.d/tomcat6 [start/stop/restart]
I'm quite new to a few subjects here, so some guidance on how to get a better idea of where to look next, or which information would be useful to post will also be appreciated. I've already read "why LD_LIBRARY_PATH is bad"
So my question is how can I start up tomcat, so that it doesn't set LD_LIBRARY_PATH
to null? or how can I re-set it to what I want, after it has been set to null? or how can I stop the webapp from being dependent on it?
Cheers,