Version: (using Devel) Compiler: GCC 4.3 ARM architecture OS: Linux Installed from: Compiled sources On architectures where Qt doesn't define qreal to double but a float (that is, architectures lacking a FPU, the ARM architecture, and Windows CE), parts of KDE fail to build from source, such as kde4bindings due to this mismatch since a few APIs return QList <double> vs QList <qreal>, which then fail when other code (such as kde4bindings), tries to QList<qreal> = *function call that returns QList <double>* majorTickMarks() and minorTickMarks() are two functions (from kplotaxis.h), that currently have this issue, but their may be others that also do. Although the obvious fix would be to change the QList<doubles> to QList<qreal>, this may be the wrong way to fix it (there are cases where you want to return doubles for instance). I"ll provide a patch once the proper fix is determined.
moved to bindings
I'm not moving this bug to bindings is appropriate; this is an issue with kdelibs specifically, it just happens bindings has code that triggers the build failure. kplotaxis is a QWidget derived widget; the bug is occurring because its using double directly vs. qreal. Alternatively, if it is a binding specific problem, then the bug is in sip specifically since that's what generates the code, but as far as I can tell, placing data elements from KPlotAxis into a QList<qreal> is acceptable (aka, sip is generated proper code, it just happens that as long as kplotaxis is using double specifically vs. qreal, it will break on architectures that qreal != double).
Created attachment 29543 [details] Checks for PyQt_qreal_double ... The main issue was caused by PyQt_qreal_double not being passed to sip during the generation of python-kde4 C files. The following patch fixes that, but the cmake code should probably be changed to use all the options set forth by SIP (unless this is done like this for a reason).