octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GUI on MacOS X !


From: Daniel J Sebald
Subject: Re: GUI on MacOS X !
Date: Sun, 24 Sep 2017 18:18:51 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

On 09/24/2017 05:40 PM, Ben Abbott wrote:
On Sep 24, 2017, at 4:29 PM, Daniel J Sebald <address@hidden <mailto:address@hidden>> wrote:

On 09/24/2017 07:03 AM, Sebastian Schöps wrote:
Am 24.09.2017 um 13:49 schrieb Ben Abbott <address@hidden <mailto:address@hidden>>:
On Sep 24, 2017, at 7:26 AM, Sebastian Schöps <address@hidden <mailto:address@hidden>> wrote:
The GUI hangs when I quit, so its not “stable” yet.

This is also what I observe since more than half a year. Octave hangs on
exit:
https://savannah.gnu.org/bugs/?50025
https://savannah.gnu.org/bugs/?50795

Homebrew has stopped shipping the GUI. I did not see any change recently.
However, I am compiling with qt5.9. Maybe this makes a difference.

By the way: to my knowledge we should drop support for qt4 as it is
unsupported and has many knows bugs.

I’m still using Qt4 because I was never able to complete a successful build wth Qt5 (via Fink).

If there are any maintainers on MacOS who would like to get the gui working, now may be a good opportunity.
I like to add that we have - thanks to Simone Deparis - an macOS development machine... dear qt experts, please help!

I don't have Mac OS X, but I looked at the code a bit.

First, in Linux I migrated from Qt4 to Qt5 a little while ago and had no problems. A couple years ago Qt5 was unstable so I stuck with Qt4, but I suspect that is because of distro build tools used by Qt5 hadn't caught up. So, I'd say anyone looking to migrate from Qt4 to Qt5 shouldn't have but a small number of issues, if any.

Regarding the Mac OS crash at shutdown, I suspect this is a consequence of Octave not correctly shutting down the QThread that holds the interpreter. It's just that Linux working is probably luck more than anything. On Mac OS, no such luck.

I've posted some comments at this bug report:

https://savannah.gnu.org/bugs/?50025

I'm not sure of how to proceed because I think the GUI startup/shutdown sequence needs to be overhauled, which might take a while.

Dan

I’m having trouble with pkg-config looking for QtCore.pc instead of Qt5Core.pc (I expect Qt5Gui.pc and Qt5Network.pc are next). How did you resolve that for your Linux build?

I didn't have to do anything, but I will describe how things are set up here and maybe it will help.

Here is the sequence of events from configure:

configure:69304: result: no
configure:69369: checking Qt version 5
configure:69405: checking for QT
configure:69413: $PKG_CONFIG --exists --print-errors "$QT_MODULES"
configure:69416: $? = 0
configure:69431: $PKG_CONFIG --exists --print-errors "$QT_MODULES"
configure:69434: $? = 0
configure:69472: result: yes
configure:69562: checking for qtchooser
configure:69578: found /usr/bin/qtchooser
configure:69589: result: qtchooser
configure:69663: checking for moc-qt5
configure:69693: result: no
configure:69764: checking for moc
configure:69780: found /usr/bin/moc
configure:69791: result: moc
configure:69871: checking for uic-qt5
configure:69901: result: no
configure:69972: checking for uic
configure:69988: found /usr/bin/uic
configure:69999: result: uic
configure:70079: checking for rcc-qt5
configure:70109: result: no
configure:70180: checking for rcc
configure:70196: found /usr/bin/rcc
configure:70207: result: rcc
configure:70287: checking for lrelease-qt5
configure:70317: result: no
configure:70388: checking for lrelease
configure:70404: found /usr/bin/lrelease
configure:70415: result: lrelease
configure:70471: checking for setlocale
configure:70471: result: yes

Here's more info:

sebald@ ~/octave/octave/octave $ pkg-config --exists --print-errors "QtCore QtGui QtNetwork QtOpenGL"
Package QtCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `QtCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'QtCore' found
Package QtGui was not found in the pkg-config search path.
Perhaps you should add the directory containing `QtGui.pc'
to the PKG_CONFIG_PATH environment variable
No package 'QtGui' found
Package QtNetwork was not found in the pkg-config search path.
Perhaps you should add the directory containing `QtNetwork.pc'
to the PKG_CONFIG_PATH environment variable
No package 'QtNetwork' found
Package QtOpenGL was not found in the pkg-config search path.
Perhaps you should add the directory containing `QtOpenGL.pc'
to the PKG_CONFIG_PATH environment variable
No package 'QtOpenGL' found

sebald@ ~/octave/octave/octave $ pkg-config --exists --print-errors "Qt5Core Qt5Gui Qt5Network Qt5OpenGL Qt5PrintSupport"

So, it looks to me that Mint 18.2 doesn't have libQtCore.so, etc.  It has

/usr/lib/x86_64-linux-gnu/libQtCore.so.4

but maybe they dropped the general reference to avoid confusion. That is probably what has made things work better going from Mint 17.3 to Mint 18.2. It looks like Octave configure does not have a "qt5" or "qt4" option. Perhaps that should be added to avoid looking for libQtCore.so and just skip to looking for libQt5Core.so, etc.

Checking first for "-qt5" variants, e.g., "moc-qt5" is a legacy thing for Octave. That is, a few years ago I think there wasn't the qtchooser utility so looking for the "XYZ-qt5" seemed most logical.

sebald@ ~ $ ls -l /usr/bin/moc
lrwxrwxrwx 1 root root 9 Aug 30 16:41 /usr/bin/moc -> qtchooser

and I think that qtchooser has some options for which it can select version 4 or 5. Acceptable are:

sebald@ ~ $ qtchooser -l
4
5
default
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5

That is, because of the link, "moc" becomes "qtchooser moc" and we can do something like "moc -qt=5" to select the version.

Dan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]