Version: (using KDE 4.2.4) Compiler: Gcc 4.4 OS: Solaris Installed from: Compiled From Sources kdesu in KDE 4.2.4 fails in OpenSolaris with a message saying conversation with su failed. It turns out that KPty calls tcgetattr on the master fd which fails on OpenSolaris. The attached patch adds a check for Solaris and uses the slave fd if so. When I checked KDE 3 source I found that this handling was done properly in KDE 3 but got changed during subsequent code refactoring in 4.x.
Created attachment 35132 [details] Patch to use slave fd on OpenSolaris for tcgetattr
whoops - FAIL. :} the patch is not goood, because it is not behavior, binary or even source compatible. you need to open the slave only temporarily if it's not open yet. and hope that the additional EOFs make no socket notifiers go haywire. for kde5, the behavior of the api should be probably modified to require an open slave.
see also http://websvn.kde.org/?view=revision&revision=1195111
(Solaris is no longer supported, even if this might be reasonably tested on Illumos; if there's a current-generation issue, let's file it separately)