Dear All,I've been using for several months an external rewriting program for mod_rewrite in Apache 1.3.27 which is working as expected, now I want to upgrade to Apache 2.2.6 and I run into trouble when my program needs to open a library file not in /usr/lib.
Here are the details of my installation: - Sun server under Solaris 10- Apache 2.2.6 compiled with gcc 3.4.6 (gcc installed in /usr/local/bin , /usr/local/lib, etc.). Apache is installed in /www/httpd-2.2.6 with symbolic link /www/apache2
- External rewriting script in Python ( python 2.5.1 installed in /opt/Python-2.5.1 with symbolic link /opt/python, was also compiled with gcc), the script starts with the magical "#!/opt/python/bin/python". The script works stand-alone with the same LD_LIBRARY_PATH as the httpd daemon.
- LD_LIBRARY_PATH of the httpd daemon : /www/httpd-2.2.6/lib:/usr/lib:/usr/local/lib:/usr/dt/lib:/usr/openwin/lib
The problem:- The external rewriting script crashes with the following message in the error_log:
Traceback (most recent call last): File "/www/apache2/conf/extra/query_string.py", line 11, in <module> import sys, cgi, urllib File "/opt/Python-2.5.1/lib/python2.5/cgi.py", line 37, in <module> from operator import attrgetterImportError: ld.so.1: python: fatal: libgcc_s.so.1: open failed: No such file or directory
- I modified the script to make it dump its environment variables in a file when it starts, it has none.
- I tried to add: SetEnv LD_LIBRARY_PATH "/www/httpd-2.2.6/lib:/usr/lib:/usr/local/lib" in apache configuration file, it does not change anything.- If I copy /usr/local/lib/libgcc_s.so.1 in /usr/lib , everything works fine, the script is in the process list as:
wwwextnew: # ps -ef|grep 29311apache 29313 29311 0 13:41:03 ? 0:00 /www/httpd-2.2.6/bin/httpd -k start apache 29316 29311 0 13:41:03 ? 0:00 /www/httpd-2.2.6/bin/httpd -k start apache 29314 29311 0 13:41:03 ? 0:00 /www/httpd-2.2.6/bin/httpd -k start apache 29317 29311 0 13:41:03 ? 0:00 /www/httpd-2.2.6/bin/httpd -k start root 29312 29311 0 13:41:02 ? 0:00 /opt/python/bin/python /www/apache2/conf/extra/query_string.py apache 29315 29311 0 13:41:03 ? 0:00 /www/httpd-2.2.6/bin/httpd -k start root 29311 1 0 13:41:02 ? 0:00 /www/httpd-2.2.6/bin/httpd -k start
wwwextnew: #But since I don't like to mess up the system installation directories, I'd like to know what I should do to set the LD_LIBRARY_PATH for the python script. (remember, it works with Apache 1.3.27).
Remark:I have noticed that the process of the python script is directly started by httpd for Apache 2.2.6 :
root 29312 29311 0 13:41:02 ? 0:00 /opt/python/bin/python /www/apache2/conf/extra/query_string.py apache 29315 29311 0 13:41:03 ? 0:00 /www/httpd-2.2.6/bin/httpd -k start root 29311 1 0 13:41:02 ? 0:00 /www/httpd-2.2.6/bin/httpd -k start
but started by a shell for Apache 1.3.27 :root 6510 6509 0 14:22:17 ? 0:00 /opt/python/bin/python /www/apache/conf/query_string.py root 6509 21261 0 14:22:17 ? 0:00 /bin/sh -c /www/apache/conf/query_string.py apache 14192 21261 0 14:30:46 ? 0:00 /www/apache_1.3.27/bin/httpd -DSSL apache 6527 21261 0 14:22:18 ? 0:03 /www/apache_1.3.27/bin/httpd -DSSL root 21261 1 0 Sep 11 ? 6:36 /www/apache_1.3.27/bin/httpd -DSSL
Thanks in advance for your help and best regards, Francoise Koenig Web group - http://www.esrf.eu/
begin:vcard fn;quoted-printable:Fran=C3=A7oise K=C3=B6nig n;quoted-printable;quoted-printable:K=C3=B6nig;Fran=C3=A7oise org:ESRF;Computing Services - Web Group adr:BP 220;;6 rue Jules Horowitz;GRENOBLE;;38043;France email;internet:jost@xxxxxxx tel;work:+33 (0)4 76 88 25 57 x-mozilla-html:TRUE url:http://www.esrf.eu/ version:2.1 end:vcard
--------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx