[comp.sys.hp] t_rcv and t_snd

craig@clodII.Columbia.NCR.COM (Craig Williamson) (05/07/91)

I'm trying to compile some X programs on an HP9000/375 and am having
a little problem with a missing library.  The error I get is:

ld: Undefined external -
        _t_rcv
        _t_snd
ld: output file still contains undefined symbols
ld: (Warning) did not generate an output file
*** Error code 1

Stop.

Where is t_rcv and t_snd?  I can't find them in /usr/lib or /usr/include.
On an NCR Tower they are in /usr/lib/libnsl.a.  Is there an equivalent on
the HP for the library or for the code?

Craig

-- 
                                                     "Please Captain...
-Craig Williamson                               Not in front of the Klingons."
 Craig.Williamson@ColumbiaSC.NCR.COM              -Spock  STV 
 craig@toontown.ColumbiaSC.NCR.COM (home)

coolidge@speaker.sgi.com (Don Coolidge) (05/08/91)

In article <1991May06.151803.13339@nncrcae.Columbia.NCR.COM> craig@clodII.Columbia.NCR.COM (Craig Williamson) writes:
>
>I'm trying to compile some X programs on an HP9000/375 and am having
>a little problem with a missing library.  The error I get is:
>
>ld: Undefined external -
>        _t_rcv
>        _t_snd
>ld: output file still contains undefined symbols
>ld: (Warning) did not generate an output file
>*** Error code 1
>
>Stop.
>
>Where is t_rcv and t_snd?  I can't find them in /usr/lib or /usr/include.
>On an NCR Tower they are in /usr/lib/libnsl.a.  Is there an equivalent on
>the HP for the library or for the code?

Those calls are part of TLI, AT&T's proprietary Transport Level Interface
to kernel networking code. HP, like most workstation and technical un*x box
vendors, uses the de-facto industry standard 4.xBSD sockets for networking,
rather than TLI/STREAMS. TLI is not a supported part of HP-UX, so there's
no library to be had (though there have been unsupported library interfaces
floating around various companies for years that translate TLI into socket 
calls). 

HP's native X (as well as X from MIT) uses sockets, not TLI. So, the
program you're compiling uses a non-standard SystemV-ish interface for X.
(Is this why AT&T is finally buying NCR?...;^)

The easiest thing for you to do is to use send(2) and recv(2), or
sendto(2) and recvfrom(2), instead - read the man pages, then substitute
those calls for the TLI ones.

Don Coolidge
coolidge@speaker.wpd.sgi.com