Keep Server Online
If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.
or
A donation makes a contribution towards the costs, the time and effort that's going in this site and building.
Thank You! Steffen
Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
| |
|
Topic: difficulty getting started with fastcgi |
|
Author |
|
dragonmage
Joined: 14 Jul 2007 Posts: 2
|
Posted: Sat 14 Jul '07 8:16 Post subject: difficulty getting started with fastcgi |
|
|
Hi,
I have been testing a fcgi program on ubuntu linux setup with fastcgi mod for apache2.
For some reason, my C program would not display anything whereas the binary echo example program did.
I eventually tried recompiling the echo program found in the fcgi source examples and I noticed the
size of the binary is about doule the size of the one that was working.
8463 2007-07-14 11:31 echo
4494 2007-07-14 11:37 echo
The recompiled echo also displayed the same behaviour as my fcgi program: did not seem to run/respond. copying the old example binary back and it works.
to compile I used:
gcc -I /usr/local/inclcude/ -L/usr/local/lib/ -o echo echo.c -lfcgi
then copied it to fcgi web dir. I then shutdown and restarted and tried accessing thru a web browser and it does not respond as described. From the error log: /var/log/apache2/error.log
[Sat Jul 14 11:38:15 2007] [error] [client 130.95.80.251] FastCGI: comm with server "/var/www/nsw/echo" aborted: idle timeout (30 sec)
[Sat Jul 14 11:38:15 2007] [error] [client 130.95.80.251] FastCGI: incomplete headers (0 bytes) received from server "/var/www/nsw/echo"
I am stumped as to the cause of this problem as it seems to be something to do with the compilation of linked in libraries. |
|
Back to top |
|
dragonmage
Joined: 14 Jul 2007 Posts: 2
|
Posted: Sat 14 Jul '07 14:23 Post subject: |
|
|
more info:
When I used the debug level I got the following:
"
with debug on:
[Sat Jul 14 19:52:24 2007] [notice] FastCGI: process manager initialized (pid 18800)
/var/www/nsw/echo: error while loading shared libraries: libfcgi.so.0: cannot open shared object file: No such file or directory
[Sat Jul 14 19:52:24 2007] [warn] FastCGI: server "/var/www/nsw/echo" started (pid 18801)
[Sat Jul 14 19:52:24 2007] [warn] FastCGI: server "/var/www/nsw/echo" (pid 18801) terminated by calling exit with status '127'
[Sat Jul 14 19:52:24 2007] [notice] Apache/2.2.3 (Ubuntu) mod_fastcgi/2.4.2 configured -- resuming normal operations
[Sat Jul 14 19:52:24 2007] [info] Server built: Jan 15 2007 18:11:52
[Sat Jul 14 19:52:24 2007] [debug] worker.c(1740): AcceptMutex: sysvsem (default: sysvsem)
/var/www/nsw/echo: error while loading shared libraries: libfcgi.so.0: cannot open shared object file: No such file or directory
"
--
if I use the working binary, the error log reports:
"
[Sat Jul 14 20:04:36 2007] [warn] FastCGI: server "/var/www/nsw/echo" started (pid 19242)
[Sat Jul 14 20:04:36 2007] [notice] Apache/2.2.3 (Ubuntu) mod_fastcgi/2.4.2 configured -- resuming normal operations
[Sat Jul 14 20:04:36 2007] [info] Server built: Jan 15 2007 18:11:52
[Sat Jul 14 20:04:36 2007] [debug] worker.c(1740): AcceptMutex: sysvsem (default: sysvsem)
"
so, it seems there is a problem with the libfcgi.so.0
but it is in usr/local/lib and had read and execute permissions to all.
- it is actually a simlink to libfcgi.so.0.0.0 |
|
Back to top |
|
tdonovan Moderator
Joined: 17 Dec 2005 Posts: 611 Location: Milford, MA, USA
|
Posted: Sat 14 Jul '07 17:04 Post subject: |
|
|
Some things you could try:Add the option -initial-env LD_LIBRARY_PATH=/usr/local/lib to your FastCgiServer directive in fastcgi.conf to make FastCGI look for libraries in /usr/local/lib
-or-
Link echo with the static library, libfcgi.a, instead of the shared library. Code: | gcc -I /usr/local/include/ -o echo echo.c /usr/local/lib/libfcgi.a |
It is curious that your libraries are in /usr/local/lib. The Ubuntu libfcgi-dev package usually puts these libraries in /usr/lib, and puts the include files in /usr/include.
-tom- |
|
Back to top |
|
|
|
|
|
|