Bug report #3562
QGIS incompatible with QWT 6.0.0
|Affected QGIS version:||master||Regression?:||No|
|Operating System:||All||Easy fix?:||No|
|Pull Request or Patch supplied:||No||Resolution:||fixed|
|Crashes QGIS or corrupts data:||No||Copied to github as #:||13622|
equery l '*qwt*' * Searching for *qwt* ... [IP-] [ ] dev-python/pyqwt-5.2.0:5 [IP-] [ ] x11-libs/qwt-6.0.0_rc5:5
[ 36%] Building CXX object src/app/CMakeFiles/qgis.dir/qgisapp.cpp.o In file included from /home/maris/soft/qgis_trunk/src/app/gps/qgsgpsinformationwidget.h:27:0, from /home/maris/soft/qgis_trunk/src/app/qgisapp.cpp:121: /home/maris/soft/qgis_trunk/src/app/gps/qwtpolar/qwt_polar_plot.h:14:33: fatal error: qwt_double_interval.h: No such file or directory compilation terminated.
#2 Updated by marisn - about 9 years ago
Replying to [comment:1 volter]:
I'll try to build with my external Qwtpolar in the evening.
I think you should report that to Qwtpolar upstream though.
This is the reason why You should not clone code. Qwtpolar is just fine, it's QGIS bundled clone out of sync.
Just fast googling reveals this file without any references to "qwt_double_interval.h": http://qwtpolar.svn.sourceforge.net/viewvc/qwtpolar/trunk/qwtpolar/src/qwt_polar_plot.h?revision=103&view=markup
#5 Updated by marisn - about 9 years ago
Replying to [comment:4 volter]:
Force with You is strong, but those are not the droids You are looking for.
Also the last released upstream version of Qwtpolar does not build with Qwt 6.0.
PyQwt as well won't build with Qwt 6.0.
Therefore I think this shouldn't be seen as a QGIS bug.
- Qwt 6.0.0 is starting to appear on user machines;
- For some time there will be systems with Qwt 6.0 and 5.x around (depending on distro packaging policy);
- If 6.0 is unsupported, QGIS configure system (cmake) should detect incompatible version and refuse to do anything.
#6 Updated by Volker Fröhlich about 9 years ago
See comment there!
#8 Updated by Thomas Dziedzic almost 9 years ago
- File convert_qwtarray_to_qvector.diff added
I have built qwtpolar-svn (an external package) against qwt 6.0.0 successfully but there still seems to be issues that need to be worked out.
I have fixed the missing qwt_array.h header error by replacing all QwtArray declarations to QVector types since qwt_array was just a wrapper for QVector anyways.
I have attached the patch that does this.
Now I am getting the following errors:
[ 47%] Building CXX object src/app/CMakeFiles/qgis.dir/qgsrasterlayerproperties.cpp.o
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp: In member function 'void QgsRasterLayerProperties::refreshHistogram()':
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp:1861:11: error: 'class QwtPlot' has no member named 'clear'
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp:1933:43: error: no matching function for call to 'QwtPlotCurve::setData(QVector<double>&, QVector<double>&)'
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp:1933:43: note: candidate is:
/usr/include/qwt/qwt_plot_seriesitem.h:146:6: note: void QwtPlotSeriesItem<T>::setData(QwtSeriesData<T>*) [with T = QPointF]
/usr/include/qwt/qwt_plot_seriesitem.h:146:6: note: candidate expects 1 argument, 2 provided
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp: In member function 'void QgsRasterLayerProperties::on_mSaveAsImageButton_clicked()':
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp:1968:3: error: 'QwtPlotPrintFilter' was not declared in this scope
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp:1968:22: error: expected ';' before 'myFilter'
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp:1969:19: error: 'QwtPlotPrintFilter' is not a class or namespace
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp:1970:17: error: 'QwtPlotPrintFilter' is not a class or namespace
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp:1971:16: error: 'QwtPlotPrintFilter' is not a class or namespace
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp:1972:3: error: 'myFilter' was not declared in this scope
/build/src/qgis-1.7.0/src/app/qgsrasterlayerproperties.cpp:1974:11: error: 'class QwtPlot' has no member named 'print'
make2: * [src/app/CMakeFiles/qgis.dir/qgsrasterlayerproperties.cpp.o] Error 1
make1: * [src/app/CMakeFiles/qgis.dir/all] Error