william@castle.ed.ac.uk (William Warburton) (04/24/91)
Hi, I am trying to build X11R4 on our new sequent and I am having problems with some library routines that are used in the streams code. I have defined STREAMS_CONN in the X config files in order to persuade X that it doesn't have a socket library to play with and I get failures with these three- ./clients/xterm/main.c 1376: grantpt (screen->respond); 1377: unlockpt (screen->respond); 1378: if ((ptyfd = open (ptsname(screen->respond), O_RDWR)) < 0) { ./util/att-nameserver/xdaemon.c 191: grantpt(munix); 192: unlockpt(munix); 200: slave = (char *) ptsname(munix); ./lib/X/Xstreams.c 267: grantpt(munix); 268: unlockpt(munix); 276: slave = (char *) ptsname(munix); 438: grantpt (fd); 440: unlockpt (fd); 442: slave = (char *) ptsname (fd); I can't find any references to these three calls (which the X distribution seems to take for granted). If anyone can help I would really appreciate it. I tried phoning Sequent's hotline (UK) and was advised that they didn't have much experience of DYNIX/ptx, that I should read the manuals and that my best approach would probably be to use their BSD pseudoterminal handling routines on top of the streams. Does this seem like good advice? It wasn't really what I wanted to hear :-(. Thanks, W.
csg@pyramid.pyramid.com (Carl S. Gutekunst) (04/29/91)
>I have defined STREAMS_CONN in the X config files in order to persuade X that >it doesn't have a socket library to play with and I get failures.... > >1376: grantpt (screen->respond); >1377: unlockpt (screen->respond); >1378: if ((ptyfd = open (ptsname(screen->respond), O_RDWR)) < 0) { > >I tried phoning Sequent's hotline (UK) and was advised that... my best >approach would probably be to use their BSD pseudoterminal handling routines >on top of the streams. That is, in fact, exactly what grantpt(), unlockpt(), and ptsname() are: library routines to emulate Berkeley ptys over a Streams tty driver. I'd guess these originated with SunOS, and they are certainly present on my SVR4 machine; but they are not part of SVR3.2. Assuming Sequent supplied them in their port, you'll need to find the library where they live and add that to your builds. Worst come to worst, you can use: cd /usr/lib nm lib*.a | grep ptsname and narrow it down from there. <csg>