Begin phasing out support for Qt 4?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

Begin phasing out support for Qt 4?

John W. Eaton
Administrator
By default, the configure script currently checks for Qt5 and then Qt4
if Qt5 doesn't appear to be working.  This seems to cause a bit of
trouble and confusion when people have both versions installed, think
they will be using Qt5 but some missing features cause Octave's build to
revert to using Qt4 instead.

I checked in the following changeset to provide more info in the
configure summary about the Qt version that is found, and any missing
modules in case Qt is not found or is disabled.

   http://hg.savannah.gnu.org/hgweb/octave/rev/cc21f66ecb1c

Maybe this change will help with diagnosing Qt configuration problems.

Is Qt5 required now for a fully functional build?  It seems so, as the
new off-screen printing and help features rely on Qt5 features, correct?
  If so, maybe it is time to check only for Qt5 by default, and not
check for Qt4 unless it is explicitly requested on the configure command
line?

jwe

Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

Mike Miller-4
On Mon, Apr 02, 2018 at 20:38:42 -0400, John W. Eaton wrote:
> Is Qt5 required now for a fully functional build?  It seems so, as the new
> off-screen printing and help features rely on Qt5 features, correct?  If so,
> maybe it is time to check only for Qt5 by default, and not check for Qt4
> unless it is explicitly requested on the configure command line?

No, this is not correct. The current stable branch builds with Qt 4.8,
and I think also 4.6. Yes, the offscreen GL rendering support will be
disabled. I think Qt 4.8 supports all of the classes needed for the new
documentation browser, but I have not tested it yet.

I do understand and have helped people debug the confusing situation
when a mix of Qt 5 and 4 packages are installed, but I don't think the
automatic fallback to Qt 4 should be dropped for Octave 4.4.

--
mike

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

John W. Eaton
Administrator
On 04/02/2018 08:48 PM, Mike Miller wrote:

> On Mon, Apr 02, 2018 at 20:38:42 -0400, John W. Eaton wrote:
>> Is Qt5 required now for a fully functional build?  It seems so, as the new
>> off-screen printing and help features rely on Qt5 features, correct?  If so,
>> maybe it is time to check only for Qt5 by default, and not check for Qt4
>> unless it is explicitly requested on the configure command line?
>
> No, this is not correct. The current stable branch builds with Qt 4.8,
> and I think also 4.6. Yes, the offscreen GL rendering support will be
> disabled. I think Qt 4.8 supports all of the classes needed for the new
> documentation browser, but I have not tested it yet.
>
> I do understand and have helped people debug the confusing situation
> when a mix of Qt 5 and 4 packages are installed, but I don't think the
> automatic fallback to Qt 4 should be dropped for Octave 4.4.
What about having configure fail by default if an incomplete
installation of Qt5 is found even if Qt4 might work?  I'm thinking this
might avoid some confusion.  The error message might say something like

   ERROR: An incomplete set of Qt5 libraries and tools appears to be
installed on your system.  You may fix your Qt5 installation or try the
configure option --with-qt=4 if you would prefer to use Qt4 libraries
and tools.

We would only fall back to Qt4 automatically if none of the required Qt5
libraries and tools are detected.

jwe

Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

Mike Miller-4
On Tue, Apr 03, 2018 at 08:27:57 -0400, John W. Eaton wrote:

> What about having configure fail by default if an incomplete installation of
> Qt5 is found even if Qt4 might work?  I'm thinking this might avoid some
> confusion.  The error message might say something like
>
>   ERROR: An incomplete set of Qt5 libraries and tools appears to be
> installed on your system.  You may fix your Qt5 installation or try the
> configure option --with-qt=4 if you would prefer to use Qt4 libraries and
> tools.
>
> We would only fall back to Qt4 automatically if none of the required Qt5
> libraries and tools are detected.
Yeah, I think that would be better. So if and only if there are no Qt 5
pkg-config files present, then automatically try with Qt 4.

--
mike

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

John W. Eaton
Administrator
On 04/03/2018 01:31 PM, Mike Miller wrote:

> On Tue, Apr 03, 2018 at 08:27:57 -0400, John W. Eaton wrote:
>> What about having configure fail by default if an incomplete installation of
>> Qt5 is found even if Qt4 might work?  I'm thinking this might avoid some
>> confusion.  The error message might say something like
>>
>>    ERROR: An incomplete set of Qt5 libraries and tools appears to be
>> installed on your system.  You may fix your Qt5 installation or try the
>> configure option --with-qt=4 if you would prefer to use Qt4 libraries and
>> tools.
>>
>> We would only fall back to Qt4 automatically if none of the required Qt5
>> libraries and tools are detected.
>
> Yeah, I think that would be better. So if and only if there are no Qt 5
> pkg-config files present, then automatically try with Qt 4.

OK, I will try to work on that.

jwe



Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

John W. Eaton
Administrator
In reply to this post by Mike Miller-4
On 04/03/2018 01:31 PM, Mike Miller wrote:
> On Tue, Apr 03, 2018 at 08:27:57 -0400, John W. Eaton wrote:

>> We would only fall back to Qt4 automatically if none of the required Qt5
>> libraries and tools are detected.
>
> Yeah, I think that would be better. So if and only if there are no Qt 5
> pkg-config files present, then automatically try with Qt 4.

I checked in my attempt here:

http://hg.savannah.gnu.org/hgweb/octave/rev/f191e1a26095

The configure script will stop checking if a Qt module is missing.  I
did not try to handle the case of modules available but some tools
missing, but we could try that if it isn't too difficult.

jwe

Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

Mike Miller-4
On Wed, Apr 04, 2018 at 08:24:50 -0400, John W. Eaton wrote:
> I checked in my attempt here:
>
> http://hg.savannah.gnu.org/hgweb/octave/rev/f191e1a26095
>
> The configure script will stop checking if a Qt module is missing.  I did

This seems to work for me. If I move Qt5Help.pc out of the way on my
system, I get

    checking Qt version 5... checking for QT... no
    configure: WARNING: Your installation of Qt version 5 appears incomplete or broken in some way.  Fix that or use --with-qt=VER to use another version.
    configure: WARNING: Qt libraries not found; disabling Qt GUI
    …
      Build Octave Qt GUI:                  no (missing:Qt5Help)

I will test later on a system that has only Qt 4.

> not try to handle the case of modules available but some tools missing, but
> we could try that if it isn't too difficult.

There is already the problem of qtchooser, see bug #53408. I don't think
it's worth putting too much effort into trying to verify that all the
tools are actually installed and working and are from the same Qt
version.

--
mike

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

Sebastian Schöps
In reply to this post by John W. Eaton
John W. Eaton wrote

> On 04/03/2018 01:31 PM, Mike Miller wrote:
>> On Tue, Apr 03, 2018 at 08:27:57 -0400, John W. Eaton wrote:
>>> What about having configure fail by default if an incomplete
>>> installation of
>>> Qt5 is found even if Qt4 might work?  I'm thinking this might avoid some
>>> confusion.  The error message might say something like
>>>
>>>    ERROR: An incomplete set of Qt5 libraries and tools appears to be
>>> installed on your system.  You may fix your Qt5 installation or try the
>>> configure option --with-qt=4 if you would prefer to use Qt4 libraries
>>> and
>>> tools.
>>>
>>> We would only fall back to Qt4 automatically if none of the required Qt5
>>> libraries and tools are detected.
>>
>> Yeah, I think that would be better. So if and only if there are no Qt 5
>> pkg-config files present, then automatically try with Qt 4.
>
> OK, I will try to work on that.
>
> jwe

Dear jwe,

The latest commit broke qt5 for me. I guess that Octave now disables qt5 if
qtchooser is not found? I guess that this is an accident as qtchooser is not
an actual requirement: I have only one qt library (version 5), so there is
no qtchooser?! (and by the way: qtchooser is not part of qt5 itself)

checking Qt version 5... checking for QT... yes
checking for qtchooser... no
checking for moc-qt5... no
checking for moc... moc
checking for uic-qt5... no
checking for uic... uic
checking for rcc-qt5... no
checking for rcc... rcc
checking for lrelease-qt5... no
checking for lrelease... lrelease
checking for qcollectiongenerator-qt5... no
checking for qcollectiongenerator... qcollectiongenerator
checking for qhelpgenerator-qt5... no
checking for qhelpgenerator... qhelpgenerator
configure: WARNING: Your installation of Qt version 5 appears incomplete or
broken in some way.  Fix that or use --with-qt=VER to use another version.
configure: WARNING: one or more of the Qt utilities moc, uic, rcc, lrelease,
qcollectiongenerator, and qhelpgenerator not found; disabling Qt GUI

Sebastian



--
Sent from: http://octave.1599824.n4.nabble.com/Octave-Maintainers-f1638794.html

Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

Dmitri A. Sergatskov


On Fri, Apr 6, 2018 at 9:29 AM, Sebastian Schöps <[hidden email]> wrote:
John W. Eaton wrote
> On 04/03/2018 01:31 PM, Mike Miller wrote:
>> On Tue, Apr 03, 2018 at 08:27:57 -0400, John W. Eaton wrote:
>>> What about having configure fail by default if an incomplete
>>> installation of
>>> Qt5 is found even if Qt4 might work?  I'm thinking this might avoid some
>>> confusion.  The error message might say something like
>>>
>>>    ERROR: An incomplete set of Qt5 libraries and tools appears to be
>>> installed on your system.  You may fix your Qt5 installation or try the
>>> configure option --with-qt=4 if you would prefer to use Qt4 libraries
>>> and
>>> tools.
>>>
>>> We would only fall back to Qt4 automatically if none of the required Qt5
>>> libraries and tools are detected.
>>
>> Yeah, I think that would be better. So if and only if there are no Qt 5
>> pkg-config files present, then automatically try with Qt 4.
>
> OK, I will try to work on that.
>
> jwe

Dear jwe,

The latest commit broke qt5 for me. I guess that Octave now disables qt5 if
qtchooser is not found? I guess that this is an accident as qtchooser is not
an actual requirement: I have only one qt library (version 5), so there is
no qtchooser?! (and by the way: qtchooser is not part of qt5 itself)

checking Qt version 5... checking for QT... yes
checking for qtchooser... no
checking for moc-qt5... no
checking for moc... moc
checking for uic-qt5... no
checking for uic... uic
checking for rcc-qt5... no
checking for rcc... rcc
checking for lrelease-qt5... no
checking for lrelease... lrelease
checking for qcollectiongenerator-qt5... no
checking for qcollectiongenerator... qcollectiongenerator
checking for qhelpgenerator-qt5... no
checking for qhelpgenerator... qhelpgenerator
configure: WARNING: Your installation of Qt version 5 appears incomplete or
broken in some way.  Fix that or use --with-qt=VER to use another version.
configure: WARNING: one or more of the Qt utilities moc, uic, rcc, lrelease,
qcollectiongenerator, and qhelpgenerator not found; disabling Qt GUI

Sebastian


​FYI​


​I do not have ​qtchooser and I do not have problems:


checking Qt version 5... checking for QT... yes
checking for qtchooser... no
checking for moc-qt5... moc-qt5
checking for uic-qt5... uic-qt5
checking for rcc-qt5... rcc-qt5
checking for lrelease-qt5... lrelease-qt5
checking for qcollectiongenerator-qt5... qcollectiongenerator-qt5
checking for qhelpgenerator-qt5... qhelpgenerator-qt5


​Dmitri.
--

Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

Sebastian Schöps
Dmitri A. Sergatskov wrote

> ​I do not have ​qtchooser and I do not have problems:
>
> checking Qt version 5... checking for QT... yes
> checking for qtchooser... no
> checking for moc-qt5... moc-qt5
> checking for uic-qt5... uic-qt5
> checking for rcc-qt5... rcc-qt5
> checking for lrelease-qt5... lrelease-qt5
> checking for qcollectiongenerator-qt5... qcollectiongenerator-qt5
> checking for qhelpgenerator-qt5... qhelpgenerator-qt5

Are you using the most recent (2h ago) version? If it's not the fault of
qtchooser then I am lost.
Everything else is found, see config.log:

configure:70097: checking Qt version 5
configure:70135: checking for QT
configure:70143: $PKG_CONFIG --exists --print-errors "$QT_MODULES"
configure:70146: $? = 0
configure:70161: $PKG_CONFIG --exists --print-errors "$QT_MODULES"
configure:70164: $? = 0
configure:70202: result: yes
configure:70307: checking for qtchooser
configure:70337: result: no
configure:70408: checking for moc-qt5
configure:70438: result: no
configure:70509: checking for moc
configure:70525: found /usr/local/opt/qt/bin/moc
configure:70536: result: moc
configure:70619: checking for uic-qt5
configure:70649: result: no
configure:70720: checking for uic
configure:70736: found /usr/local/opt/qt/bin/uic
configure:70747: result: uic
configure:70830: checking for rcc-qt5
configure:70860: result: no
configure:70931: checking for rcc
configure:70947: found /usr/local/opt/qt/bin/rcc
configure:70958: result: rcc
configure:71041: checking for lrelease-qt5
configure:71071: result: no
configure:71142: checking for lrelease
configure:71158: found /usr/local/opt/qt/bin/lrelease
configure:71169: result: lrelease
configure:71252: checking for qcollectiongenerator-qt5
configure:71282: result: no
configure:71353: checking for qcollectiongenerator
configure:71369: found /usr/local/opt/qt/bin/qcollectiongenerator
configure:71380: result: qcollectiongenerator
configure:71463: checking for qhelpgenerator-qt5
configure:71493: result: no
configure:71564: checking for qhelpgenerator
configure:71580: found /usr/local/opt/qt/bin/qhelpgenerator
configure:71591: result: qhelpgenerator
configure:73418: WARNING: Your installation of Qt version 5 appears
incomplete or broken in some way.  Fix that or use --with-qt=VER to use
another version.
configure:73439: WARNING: one or more of the Qt utilities moc, uic, rcc,
lrelease, qcollectiongenerator, and qhelpgenerator not found; disabling Qt
GUI



--
Sent from: http://octave.1599824.n4.nabble.com/Octave-Maintainers-f1638794.html

Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

Dmitri A. Sergatskov


On Fri, Apr 6, 2018 at 9:44 AM, Sebastian Schöps <[hidden email]> wrote:
Dmitri A. Sergatskov wrote
> ​I do not have ​qtchooser and I do not have problems:
>
> checking Qt version 5... checking for QT... yes
> checking for qtchooser... no
> checking for moc-qt5... moc-qt5
> checking for uic-qt5... uic-qt5
> checking for rcc-qt5... rcc-qt5
> checking for lrelease-qt5... lrelease-qt5
> checking for qcollectiongenerator-qt5... qcollectiongenerator-qt5
> checking for qhelpgenerator-qt5... qhelpgenerator-qt5

Are you using the most recent (2h ago) version? If it's not the fault of
qtchooser then I am lost.
Everything else is found, see config.log:


​I am on stable branch, but I will check dev soon.
 ​
5fccb7373bc4 (stable) tip
​​
Dmitri.
--


Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

Dmitri A. Sergatskov
On Fri, Apr 6, 2018 at 9:53 AM, Dmitri A. Sergatskov <[hidden email]> wrote:


On Fri, Apr 6, 2018 at 9:44 AM, Sebastian Schöps <[hidden email]> wrote:
Dmitri A. Sergatskov wrote
> ​I do not have ​qtchooser and I do not have problems:
>
> checking Qt version 5... checking for QT... yes
> checking for qtchooser... no
> checking for moc-qt5... moc-qt5
> checking for uic-qt5... uic-qt5
> checking for rcc-qt5... rcc-qt5
> checking for lrelease-qt5... lrelease-qt5
> checking for qcollectiongenerator-qt5... qcollectiongenerator-qt5
> checking for qhelpgenerator-qt5... qhelpgenerator-qt5

Are you using the most recent (2h ago) version? If it's not the fault of
qtchooser then I am lost.
Everything else is found, see config.log:


​I am on stable branch, but I will check dev soon.
 ​
5fccb7373bc4 (stable) tip
​​

​Also with dev:

checking Qt version 5... checking for QT... yes
checking for qtchooser... no
checking for moc-qt5... moc-qt5
checking for uic-qt5... uic-qt5
checking for rcc-qt5... rcc-qt5
checking for lrelease-qt5... lrelease-qt5
checking for qcollectiongenerator-qt5... qcollectiongenerator-qt5
checking for qhelpgenerator-qt5... qhelpgenerator-qt5


hg id
25369fcbf6f3 @


hg head
changeset:   25134:5fccb7373bc4
branch:      stable
tag:         tip
user:        John W. Eaton <[hidden email]>
date:        Fri Apr 06 08:14:39 2018 -0400
summary:     allow configure to continue if some Qt tools are found (bug #53571)

changeset:   25132:25369fcbf6f3
bookmark:    @
parent:      25130:b51ad6a79c22
parent:      25131:0cd7076a97c8
user:        Rik <[hidden email]>
date:        Thu Apr 05 17:40:21 2018 -0700
summary:     maint: Merge stable to default.

​Dmitri.
--

Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

John W. Eaton
Administrator
On 04/06/2018 11:01 AM, Dmitri A. Sergatskov wrote:

> On Fri, Apr 6, 2018 at 9:53 AM, Dmitri A. Sergatskov
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>
>
>     On Fri, Apr 6, 2018 at 9:44 AM, Sebastian Schöps <[hidden email]
>     <mailto:[hidden email]>> wrote:
>
>         Dmitri A. Sergatskov wrote
>         > ​I do not have ​qtchooser and I do not have problems:
>         >
>         > checking Qt version 5... checking for QT... yes
>         > checking for qtchooser... no
>         > checking for moc-qt5... moc-qt5
>         > checking for uic-qt5... uic-qt5
>         > checking for rcc-qt5... rcc-qt5
>         > checking for lrelease-qt5... lrelease-qt5
>         > checking for qcollectiongenerator-qt5... qcollectiongenerator-qt5
>         > checking for qhelpgenerator-qt5... qhelpgenerator-qt5
>
>         Are you using the most recent (2h ago) version? If it's not the
>         fault of
>         qtchooser then I am lost.
>         Everything else is found, see config.log:
>
>
>     ​I am on stable branch, but I will check dev soon.
>       ​
>     5fccb7373bc4 (stable) tip
>     ​​
>
>
> ​Also with dev:
>
> ​
> checking Qt version 5... checking for QT... yes
> checking for qtchooser... no
> checking for moc-qt5... moc-qt5
> checking for uic-qt5... uic-qt5
> checking for rcc-qt5... rcc-qt5
> checking for lrelease-qt5... lrelease-qt5
> checking for qcollectiongenerator-qt5... qcollectiongenerator-qt5
> checking for qhelpgenerator-qt5... qhelpgenerator-qt5

Dmitri, it works for you because all of your tools have the -qt5 suffix.

Sebastian, I think I fixed the logic error here:

http://hg.savannah.gnu.org/hgweb/octave/rev/ab3904f253c5

I have also merged this change with default now.

This problem was also reported as bug #53571.  If there are still
problems, please follow up there with more info.

Thanks,

jwe




Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

Mike Miller-4
In reply to this post by Mike Miller-4
On Wed, Apr 04, 2018 at 16:44:13 -0700, Mike Miller wrote:
> I will test later on a system that has only Qt 4.

Sorry for the delay, but I have now verified that building on a system
with only Qt 4 still works without any configure options.

Thanks,

--
mike

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Begin phasing out support for Qt 4?

John W. Eaton
Administrator
On 04/08/2018 09:34 PM, Mike Miller wrote:
> On Wed, Apr 04, 2018 at 16:44:13 -0700, Mike Miller wrote:
>> I will test later on a system that has only Qt 4.
>
> Sorry for the delay, but I have now verified that building on a system
> with only Qt 4 still works without any configure options.

OK, thanks.

jwe