Bug report #3562
QGIS incompatible with QWT 6.0.0
Status: | Closed | ||
---|---|---|---|
Priority: | Low | ||
Assignee: | - | ||
Category: | Build/Install | ||
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 |
Description
QGIS r15378
Gentoo ~AMD64
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.
History
#1 Updated by Volker Fröhlich over 13 years ago
I'll try to build with my external Qwtpolar in the evening.
I think you should report that to Qwtpolar upstream though.
#2 Updated by marisn - over 13 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
#3 Updated by Volker Fröhlich over 13 years ago
Now we only need to find packagers for Qwtpolar for all distris besides Fedora, as well as include it in the Windows installer. :)
It is prepared inside QGIS since .
#4 Updated by Volker Fröhlich over 13 years ago
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.
#5 Updated by marisn - over 13 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 over 13 years ago
http://sourceforge.net/support/tracker.php?aid=3195924
See comment there!
#7 Updated by Thomas Dziedzic over 13 years ago
since this seems to have been fixed in qwtpolar upstream,
can we get this fixed in qgis?
I'm currently experiencing this bug in archlinux.
#8 Updated by Thomas Dziedzic over 13 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
#9 Updated by Thomas Dziedzic over 13 years ago
I could not find an obvious replacement for clear() and QwtPlotPrintFilter, but setData should be easily replaced with setSamples
#10 Updated by Giovanni Manghi almost 13 years ago
- Target version changed from Version 1.7.0 to Version 1.7.4
#11 Updated by Jürgen Fischer almost 13 years ago
- Assignee deleted (
nobody -) - Resolution set to fixed
- Pull Request or Patch supplied set to No
- Crashes QGIS or corrupts data set to No
- Affected QGIS version set to master
- Status changed from Open to Closed
apparently fixed in f71ecb90b ff