kde4bindings fails to build on ARM

Bug #308814 reported by Michael Casadevall on 2008-12-17
6
Affects Status Importance Assigned to Milestone
KDE Bindings
New
Medium
kdelibs
Fix Released
Medium
kde4bindings (Ubuntu)
High
Scott Kitterman
kde4libs (Ubuntu)
High
Scott Kitterman
python-qt4 (Ubuntu)
High
Michael Casadevall

Bug Description

kde4bindings FTBFS due to a bug in python-qt4. kde4libs also needs a patch removed that was added erroneously due to the bug in python-qt4

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).

description: updated
Changed in kde4bindings:
assignee: nobody → sonicmctails
importance: Undecided → High
status: New → Fix Committed
Changed in kde4libs:
importance: Undecided → High
status: New → Fix Committed
Changed in python-qt4:
assignee: nobody → sonicmctails
importance: Undecided → High
status: New → In Progress
Changed in kde4libs:
assignee: nobody → sonicmctails
description: updated
Changed in kde4bindings:
assignee: sonicmctails → kitterman
status: Fix Committed → In Progress
Changed in kde4libs:
assignee: sonicmctails → kitterman
status: Fix Committed → In Progress
Changed in python-qt4:
assignee: sonicmctails → kitterman
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python-qt4 - 4.4.4-2ubuntu1

---------------
python-qt4 (4.4.4-2ubuntu1) jaunty; urgency=low

  * debian/patches/kubuntu_01_armel_support.dpatch (LP: #308814)
    - Corrects a configuration test which caused qreals to end up
      as floats on non-ARM architectures, and as doubles on ARM architectures.
    - Added handling of doubles on qreal != float for QLists

 -- Michael Casadevall <email address hidden> Tue, 16 Dec 2008 02:58:05 -0500

Changed in python-qt4:
status: In Progress → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package kde4libs - 4:4.1.85-0ubuntu2

---------------
kde4libs (4:4.1.85-0ubuntu2) jaunty; urgency=low

  [ Michael Casadevall ]
  * debian/patches/kubuntu_kplotaxis_qreal.diff
    - Dropped, unnecessaru since fixes to pyqt4 allows it to handle
      the qreals properly (LP: #308814)
  * debian/patches/kubuntu_70_nepomuk_qreal.diff
    - Removed since a better fix needs to be handled upstream, and
      nepomuk currently is disabled on Kubuntu builds
  * debian/patches/kubuntu_99_update_cmake_pyqt.diff
    - This updates the cmake rules for PyQt4 from kde4bindings
      so information such as sip flags can be obtainined

  [ Scott Kitterman ]
  * Restore kdelibs5 depends on launchpad-integration lost in a merge

 -- Michael Casadevall <email address hidden> Fri, 19 Dec 2008 21:31:40 -0500

Changed in kde4libs:
status: In Progress → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package kde4bindings - 4:4.1.85-0ubuntu2

---------------
kde4bindings (4:4.1.85-0ubuntu2) jaunty; urgency=low

  [ Scott Kitterman ]
  * Don't build-dep cli-common-dev on hppa (as with the rest of the mono
    build-dep)
  * Fix version/patch in debian/qyoto.pc (thanks to Eric Butler for spotting
    and proposing the fix)

  [ Michael Casadevall ]
  * debian/patches/kubuntu_01_updating_plotting_apis.patch:
    - Removed, unneeded due to python-qt4 fixes (LP: #308814)
  * debian/patches/kubuntu_01_make_pykde4_respect_sip_flags.diff
    - This gets PyKDE4 to properly pull in PyQT4's SIP flags, such as
      PyQt_qreal_double, necessary to make builds on ARM work.
  * debian/control:
    - Changed build-dep on python-qt4 and kde4libs to include
      the proper revision number with all the correct fixes
  * debian/qyoto-examples.install
    - Modified to handle arm build directly which doesn't end in -gnu
  * debian/rules:
    - Modified to handle arm build directly which doesn't end in -gnu
  * debian/patches/kubuntu_04_disable_csharp_plasma_examples.patch:
    - Removed, We now have a patch to fix the examples
  * debian/patches/kubuntu_04_disable_csharp_plasma_examples.patch:
    - New patch, Fixes C# examples. Thank you Jo Shields (directhex) for the
      patch (LP: #308891)

 -- Michael Casadevall <email address hidden> Tue, 16 Dec 2008 20:33:58 -0500

Changed in kde4bindings:
status: In Progress → Fix Released

Its still FTBFSing due to a bug in the python-qt4 packaging. A patch has been committed to python-modules in Debian and awaiting upload there.

Changed in python-qt4:
assignee: kitterman → sonicmctails
status: Fix Released → Fix Committed
Changed in kdebindings:
status: Unknown → New
Changed in kdelibs:
status: Unknown → Confirmed

Created attachment 29543
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).

here's the patch from python-modules SVN

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python-qt4 - 4.4.4-2ubuntu2

---------------
python-qt4 (4.4.4-2ubuntu2) jaunty; urgency=low

  * debian/python-qt4.install (LP: #308814)
    - Install pyqtconfig.py files into python-qt4 vs. python-qt4-dev.
      This is because python-qt4 is arch any, and python-qt4-dev is
      arch all, and the config file can be different on different
      architectures (i.e. ARM)
  * debian/rules:
    - Moved pyqtconfig.py installation to python-qt4.install
    - Standardized the use of tabs over spaces
  * debian/control:
    - Added necessary conflict/replaces to python-qt4

 -- Michael Casadevall <email address hidden> Mon, 22 Dec 2008 06:45:15 -0500

Changed in python-qt4:
status: Fix Committed → Fix Released
Changed in kdelibs:
status: Confirmed → Fix Released
Changed in kdebindings:
importance: Unknown → Medium
Changed in kdelibs:
importance: Unknown → Medium

Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!

Changed in kdebindings:
status: New → Incomplete

Dear Bug Submitter,

This is a reminder that this bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? This bug will be moved back to REPORTED Status for manual review later, which may take a while. If you are able to, please lend us a hand.

Thank you for helping us make KDE software even better for everyone!

Changed in kdebindings:
status: Incomplete → New
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.