Hi I hope I have found the right list :-) If not, my apologies and a pointer would be appreciated. I am trying to compile openssh-6.3p1 for OS/2 aka EcomStation. For those unfamiliar OS/2 is a DOSish OS but usually porting *nix apps is pretty straightforward. It is complicated by the fact that our current libc implementation of pipe() is flawed and I have to use socketpair() instead. I think I have found all the places where pipes are allocated and changed to use socketpair. It is further complicated by the fact that we don't have tty support either. :-) There is no /dev tree although /dev/console is supported internally. Having said that it all compiles clean - after the insertion of a few casts here and there :-) Using either ssh or sshd to tunnel works fine - both to each other and to "real" ssh on a linux box. But when it comes to interactive terminal both they, and sftp, fail. ssh -vvvv shardik (which is a *nix box) snip snip debug1: Authentication succeeded (password). Authenticated to shardik ([192.168.0.1]:22). debug1: channel 0: new [client-session] debug3: ssh_session2_open: channel_new: 0 debug2: channel 0: send open debug1: Entering interactive session. tcgetattr: Invalid argument debug2: callback start debug2: fd 3 setting TCP_NODELAY debug3: packet_set_tos: set IP_TOS 0x10 debug2: client_session2_setup: id 0 debug2: channel 0: request pty-req confirm 1 debug1: tty_make_modes: no fd or tio debug2: channel 0: request shell confirm 1 debug2: callback done debug2: channel 0: open confirm rwindow 24576 rmax 32768 debug1: channel 0: free: client-session, nchannels 1 debug3: channel 0: status: The following connections are open: #0 client-session (t4 r0 i0/0 o0/0 fd 4/5 cc -1) select: Invalid argument Connection to shardik closed. Transferred: sent 3552, received 1136 bytes, in 0.0 seconds Bytes per second: sent 77217.4, received 24695.6 debug1: Exit status -1 The tcgetattr() error I have not tracked down yet but a Google search suggested that it could be ignored. The select() error is in Clientloop.c/client_wait_until_can_do_something #655 and would appear to be because one of the file descripters, 4, is an OS/2 file handle. I have yet to work out why or where is got allocated. That line of code is executed many times before fd 4 appears when it immediately barfs. I get similar problems with sshd but suspect that when I track down what's wrong with ssh the solution will be the same/similar. It would help of course if I had an understanding of what called what and under what conditions to insert additional debugging statements. I can't help feeling that it is something both obvious and silly. TIA -- Kind regards Dave Saville