A forum for questions and answers about network programming on Linux and all other Unix-like systems

You are not logged in.

#1 2002-07-27 01:23 AM

From: Colombia
Registered: 2002-06-12
Posts: 353

Re: 8.2 - Error when using inetd

[size=18]8.2 - Error when using inetd
From: Walter Moore

I've written a client/server program to replace someone's code that entailed a multitude of rsh's. This server can be called on the command line, as well as via inetd. My problem is that the inetd calling is not working correctly. When the client connects to the port, it receives this message: ld.so.1: (unknown): fatal: libct.so: can't open file: errno=2 What does this mean? Thanks

From: raman

Please tell me how to use inetd ??!!!... I don't know how to use the socket created by inetd...!!!

From: Andy Walls
Added on: 2002-05-29 07:09:03


You have compiled your server program to use
dynamicly linked libraries. When the server is
run by inetd, the dynamic loader routines in the server
can't find the dynamicly linked library that the
error message is griping about.

You have at least two courses of action:
*  staticly link your server program, or
*  have the linker embed the dynamic library search path in the server executable.

Check the man pages for your "cc" and "ld" to
see what command line options you'll need to use.

There could be at least two reasons your server works
from the command line but not inetd:
* Your user has an environment variable like LD_LIBRARY_PATH (Solaris) or SHLIB_PATH (HP-UX) set, so the dynamic loader can find the shared library. Inetd probably doesn't have this in its environment for security reasons.
* For processes that run as root, the dynamic loader, ld.so.1, has to be *very* picky about library paths and permissions to avoid security problems.

Andy Walls


Board footer

Powered by FluxBB