[MacPorts] #58226: octave @5.1.0_0+accelerate+app+docs+gfortran+graphicsmagick+qt5+sound+sundials --- Compiler error issue with qt5's "posF"
MacPorts
noreply at macports.org
Thu Apr 4 04:31:08 UTC 2019
#58226: octave
@5.1.0_0+accelerate+app+docs+gfortran+graphicsmagick+qt5+sound+sundials ---
Compiler error issue with qt5's "posF"
----------------------------+---------------------------------
Reporter: SenileFelineS | Owner: MarcusCalhoun-Lopez
Type: defect | Status: reopened
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords: lion x86_64
Port: octave |
----------------------------+---------------------------------
Description changed by SenileFelineS:
Old description:
> I'm trying to install octave (see title) with the qt56 dependency.
>
> I received two errors caused by the same issue of not recognizing 'posF':
>
> **(Error 1)**
>
> {{{
> CXX libgui/graphics/__init_qt___la-ToolBar.lo
> libgui/graphics/Canvas.cc:398:57: error: no member named 'posF' in
> 'QMouseEvent'; did you mean 'pos'?
> bool rect_contains_pos = r.contains (event->posF ());
> ^~~~
> pos
> /opt/local/libexec/qt5/include/QtGui/qevent.h:115:19: note: 'pos'
> declared here
> inline QPoint pos() const { return l.toPoint(); }
> ^
>
> }}}
>
> **(Error 2)**
>
> {{{
> libgui/graphics/Canvas.cc:452:61: error: no member named 'posF' in
> 'QMouseEvent'; did you mean 'pos'?
> bool rect_contains_pos = r.contains (event->posF ());
> ^~~~
> pos
> /opt/local/libexec/qt5/include/QtGui/qevent.h:115:19: note: 'pos'
> declared here
> inline QPoint pos() const { return l.toPoint(); }
> ^
> }}}
>
> These two errors both reference the qt5 library file
> {{{/opt/local/libexec/qt5/include/QtGui/qevent.h:115:19}}} which **does
> in fact** make reference to **posF()** as the following:
>
> {{{
> #if QT_DEPRECATED_SINCE(5, 0)
> QT_DEPRECATED inline QPointF posF() const { return l; }
> #endif
> }}}
>
> However, I have no idea if that matters.................I'm guessing it
> actually doesn't.
>
> I've attached both the build {{{main.log}}} and the qt5 {{{qevent.h}}}
> files.
>
>
> Thank you.
>
> **Update**
> I have reopened this as Octave gui fails to work even though the
> installation process seems to work with the patch. (See comment 11
> below.)
New description:
I'm trying to install octave (see title) with the qt56 dependency.
I received two errors caused by the same issue of not recognizing 'posF':
**(Error 1)**
{{{
CXX libgui/graphics/__init_qt___la-ToolBar.lo
libgui/graphics/Canvas.cc:398:57: error: no member named 'posF' in
'QMouseEvent'; did you mean 'pos'?
bool rect_contains_pos = r.contains (event->posF ());
^~~~
pos
/opt/local/libexec/qt5/include/QtGui/qevent.h:115:19: note: 'pos' declared
here
inline QPoint pos() const { return l.toPoint(); }
^
}}}
**(Error 2)**
{{{
libgui/graphics/Canvas.cc:452:61: error: no member named 'posF' in
'QMouseEvent'; did you mean 'pos'?
bool rect_contains_pos = r.contains (event->posF ());
^~~~
pos
/opt/local/libexec/qt5/include/QtGui/qevent.h:115:19: note: 'pos' declared
here
inline QPoint pos() const { return l.toPoint(); }
^
}}}
These two errors both reference the qt5 library file
{{{/opt/local/libexec/qt5/include/QtGui/qevent.h:115:19}}} which **does in
fact** make reference to **posF()** as the following:
{{{
#if QT_DEPRECATED_SINCE(5, 0)
QT_DEPRECATED inline QPointF posF() const { return l; }
#endif
}}}
However, I have no idea if that matters.................I'm guessing it
actually doesn't.
I've attached both the build {{{main.log}}} and the qt5 {{{qevent.h}}}
files.
Thank you.
**Update**
I have reopened this as Octave gui fails to work even though the
installation process seems to work with the patch. (See comment 11 below.)
**Update 2**
After doing some internet sleuthing, apparently when switching between
different versions of octave that are built with different versions of Qt
(i.e. qt4 vs. qt5), the file {{{~/.config/octave/qt-settings}}} cannot
exist when switching from one version of Qt to another. The solution is to
take the current file {{{~/.config/octave/qt-settings}}} and rename it to
something like {{{qt-settings_qt-old}}} to force Octave to re-create the
{{{qt-settings}}} file for the current Qt-based gui. Then, if you ever
want to switch back to the previous Qt-based gui, you can rename you're
old {{{qt-settings_qt-old}}} file back to {{{qt-settings}}}. Just make
sure you don't delete the other {{{qt-settings}}} file.
--
--
Ticket URL: <https://trac.macports.org/ticket/58226#comment:14>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list