[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