Source build failing with Qwt 6.3.0

I have been trying to compile GPlates from source on openSUSE Tumbleweed, which has resulted in the following compilation errors:

gplates_2.5.0_src/src/qt-widgets/KinematicGraphsDialog.h:52:7: error: definition of type 'QwtPointSeriesData' conflicts with typedef of the same name
   52 | class QwtPointSeriesData;
      |       ^
/usr/include/qt6/qwt6/qwt_series_data.h:226:39: note: 'QwtPointSeriesData' declared here
  226 | typedef QwtArraySeriesData< QPointF > QwtPointSeriesData;
      |                                       ^
In file included from gplates_2.5.0_src/src/qt-widgets/KinematicGraphPicker.cc:62:
gplates_2.5.0_src/src/qt-widgets/KinematicGraphPicker.h:34:7: error: definition of type 'QwtPointSeriesData' conflicts with typedef of the same name
   34 | class QwtPointSeriesData;
      |       ^
/usr/include/qt6/qwt6/qwt_series_data.h:226:39: note: 'QwtPointSeriesData' declared here
  226 | typedef QwtArraySeriesData< QPointF > QwtPointSeriesData;
      |                                       ^

After some further investigation, it seems that the recent release of Qwt (6.3.0) is no longer declaring QwtPointSeriesData as a stand-alone class, and is instead declaring it as a typedef alias for QwtArraySeriesData, which is conflicting with GPlates forward-declaration of QwtPointSeriesData.

I was able to resolve it by directly including qwt_series_data.h instead of using a forward-declaration in KinematicGraphPicker.h and KinematicGraphsDialog.h.

Thanks, I recently encountered that issue also.

I’ve added the compile fix to the main GPlates branch (for other users).