qt terminal for gnuplot on cygwin workaround)

Tatsuro MATSUOKA tmacchant2@yahoo.co.jp
Mon Jan 10 09:34:37 GMT 2022


> ----- Original Message ----- 
> From: "Mark Geisert" 
> To: "cygwin
> Date: 2022/01/10 月 15:36
> Subject: Re: qt terminal for gnuplot on cygwin workaround)
> Hi Tatsuro,
> 
> Tatsuro MATSUOKA wrote:
> > A workaround for qt enables qt termnal on Cygwin is shown by  Enrico Forestieri
> > https://sourceforge.net/p/gnuplot/mailman/gnuplot-beta/thread/16092.81463.qm@web103110.mail.kks.yahoo.co.jp/
> > 
> > --- a/qtbase-everywhere-src-5.10.1/src/network/socket/qlocalsocket_unix.cpp
> > +++ b/qtbase-everywhere-src-5.10.1/src/network/socket/qlocalsocket_unix.cpp
> > @@ -239,7 +239,7 @@ void QLocalSocket::connectToServer(OpenM
> >       }
> > 
> >       // create the socket
> > -    if (-1 == (d->connectingSocket = qt_safe_socket(PF_UNIX, SOCK_STREAM, 0,
> > O_NONBLOCK))) {
> > +    if (-1 == (d->connectingSocket = qt_safe_socket(PF_UNIX, SOCK_STREAM,
> > 0))) {
> >           d->errorOccurred(UnsupportedSocketOperationError,
> >                          
> > QLatin1String("QLocalSocket::connectToServer"));
> >           return;
> > 
> > I myself generate library libQt5Network as libQt5Network-gnuplot and used gnuplot  build.
> > I dp not know that the modification avove is valid but enables me to use qt terminal on cygwin.
> 
> Apologies for the late response.  As quoted above, the patch changes the number of 
> args passed to qt_safe_socket() so maybe that's incorrect?
> 
> In any case I think the intent was to change the call from nonblocking to 
> blocking.  That seems likely to interfere with other socket or terminal I/O that 
> may be expected asynchronously.
> 
> I investigated the gnuplot vs Qterm problem several years ago and found the root 
> cause: deep within the Qt networking code a call to connect() wasn't expecting the 
> error EINPROGRESS to be returned.  POSIX decrees this error when a nonblocking 
> connect() cannot immediately be completed.  I opened a Qt BUG for this, but the Qt 
> folks declined to fix.  I then tried making a Cygwin-only patch but was stymied by 
> my inability to build Qt itself due to bit rot.
> 
> If we have or can get a recent Qt build completed, I can supply a patch to fix the 
> issue.
> 
> ..mark
I undersstand the current states for gnuplot and qt.
I am now wirking in my home and can use very old note PC.
So building of qt is very time comsuming jobs so I cannot to try.

I only build old qt-5.8.4 using tools by cugport.
Qt-5.9.4 cannot be built by gcc-11 and I downgrade gcc from 11 to 10.

I could only som dll files including cygQt5Network and used for patch work.

When I will use the recent PC, I will try the recent Qt build.(qt6 ?)

Tatsuro



More information about the Cygwin mailing list