Bug 278486 - [smokeqt] doesn't build with qwt 6.0
Summary: [smokeqt] doesn't build with qwt 6.0
Status: CONFIRMED
Alias: None
Product: bindings
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal with 45 votes (vote)
Target Milestone: ---
Assignee: kde-bindings
URL:
Keywords:
: 289234 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-07-25 17:10 UTC by Andrea Scarpino
Modified: 2021-03-09 05:24 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Patch to remove the old headers (3.29 KB, patch)
2011-07-26 07:47 UTC, Andrea Scarpino
Details
Patch to remove the old headers (1.61 KB, patch)
2011-07-26 07:49 UTC, Andrea Scarpino
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrea Scarpino 2011-07-25 17:10:10 UTC
Version:           unspecified (using Devel) 
OS:                Linux

Subject says all.

[ 90%] Building CXX object qwt/CMakeFiles/smokeqwt.dir/smokedata.cpp.o
In file included from /build/src/build/qwt/smokedata.cpp:1:0:                                                                                                               
/build/src/smokeqt-4.7.0/qwt/qwt_includes.h:6:23: fatal error: qwt_array.h: No such file or directory
compilation terminated.
make[2]: *** [qwt/CMakeFiles/smokeqwt.dir/smokedata.cpp.o] Error 1
make[1]: *** [qwt/CMakeFiles/smokeqwt.dir/all] Error 2
make: *** [all] Error 2

Reproducible: Always

Steps to Reproduce:
try to build kdebindings-smokeqt from git with qwt 6.0 installed

Actual Results:  
build fails

Expected Results:  
it builds

KDE 4.7.0
Qwt 6.0.0
Comment 1 Ronald van Haren 2011-07-25 17:18:26 UTC
You can replace it by qvector. I can provide a patch when I'm at home.
Comment 2 Ronald van Haren 2011-07-26 07:31:17 UTC
Sorry, my internet was down yesterday...today another day at the office.

I've to do this just from looking at the source, but I fail to see where the QwtArray class is being used.

Either way, QwtArray is just a wrapper around Qvector, so it should be an easy replacement of:

#include <qwt_array.h> with #include <qvector.h>

and

QwtArray with QVector (there are none of these in the smokeqt source though).


Can you try to replace the qwt_array one and see what happens, I imagine that some other qwt includes are not defined in qwt6 either, but I didn't check.
Comment 3 Andrea Scarpino 2011-07-26 07:47:02 UTC
Created attachment 62197 [details]
Patch to remove the old headers

I removed the old headers from that file (without replacing them with the new headers), and now I get:

In file included from /usr/include/qwt/qwt_plot_curve.h:14:0,                                                                                                               
                 from /build/src/smokeqt-4.7.0/qwt/qwt_includes.h:31,
                 from /build/src/build/qwt/x_7.cpp:2:
/usr/include/qwt/qwt_plot_item.h: In copy constructor ‘QwtPlotAbstractSeriesItem::QwtPlotAbstractSeriesItem(const QwtPlotAbstractSeriesItem&)’:
/usr/include/qwt/qwt_plot_item.h:182:5: error: ‘QwtPlotItem::QwtPlotItem(const QwtPlotItem&)’ is private
/usr/include/qwt/qwt_plot_seriesitem.h:21:18: error: within this context
/usr/include/qwt/qwt_plot_seriesitem.h: In copy constructor ‘QwtPlotSeriesItem<QPointF>::QwtPlotSeriesItem(const QwtPlotSeriesItem<QPointF>&)’:
/usr/include/qwt/qwt_plot_seriesitem.h:60:7: note: synthesized method ‘QwtPlotAbstractSeriesItem::QwtPlotAbstractSeriesItem(const QwtPlotAbstractSeriesItem&)’ first required here 
In file included from /build/src/smokeqt-4.7.0/qwt/qwt_includes.h:31:0,
                 from /build/src/build/qwt/x_7.cpp:2:
/usr/include/qwt/qwt_plot_curve.h: In copy constructor ‘QwtPlotCurve::QwtPlotCurve(const QwtPlotCurve&)’:
/usr/include/qwt/qwt_plot_curve.h:55:18: note: synthesized method ‘QwtPlotSeriesItem<QPointF>::QwtPlotSeriesItem(const QwtPlotSeriesItem<QPointF>&)’ first required here 
/build/src/build/qwt/x_7.cpp: In constructor ‘__smokeqwt::x_QwtPlotCurve::x_QwtPlotCurve(const QwtPlotCurve&)’:
/build/src/build/qwt/x_7.cpp:271:70: note: synthesized method ‘QwtPlotCurve::QwtPlotCurve(const QwtPlotCurve&)’ first required here 
make[2]: *** [qwt/CMakeFiles/smokeqwt.dir/x_7.cpp.o] Error 1
make[1]: *** [qwt/CMakeFiles/smokeqwt.dir/all] Error 2
make: *** [all] Error 2
Comment 4 Andrea Scarpino 2011-07-26 07:48:46 UTC
Comment on attachment 62197 [details]
Patch to remove the old headers

wrong file
Comment 5 Andrea Scarpino 2011-07-26 07:49:08 UTC
Created attachment 62198 [details]
Patch to remove the old headers
Comment 6 Ronald van Haren 2011-07-26 08:08:36 UTC
For the first error, copy constructor is disabled in QwtPlotItem. See http://comments.gmane.org/gmane.comp.graphics.qwt.general/2446 for some more info on that.
Comment 7 Scott Kitterman 2011-08-19 19:07:07 UTC
This is relevant to Debian/Ubuntu now too.
Comment 8 Rex Dieter 2011-08-21 00:04:42 UTC
can at least confirm here, blocking qwt6 update in fedora until this is resolved.
Comment 9 Arno Rehn 2011-08-21 15:51:56 UTC
The problem here is that FindQwt5.cmake detects Qwt6 as Qwt5. I have fiddled around with the cmake file but have not yet found a solution.

For the moment you could force-disable Qwt in the bindings (the actual bindings are all geared towards Qwt5 anyways). ( -DWITH_Qwt5=OFF )

Every help figuring out how to properly detect Qwt6 (and make FindQwt5 fail) is welcome.
Comment 10 Jonathan Riddell 2012-01-05 16:50:22 UTC
*** Bug 289234 has been marked as a duplicate of this bug. ***
Comment 11 Justin Zobel 2021-03-09 05:24:41 UTC
Thank you for the bug report.

As this report hasn't seen any changes in 5 years or more, we ask if you can please confirm that the issue still persists.

If this bug is no longer persisting or relevant please change the status to resolved.