Hi -release list, and hi arm and armel buildd-admins,

I have a FTBFS for package qBittorrent on armel arch (see [1]), and I
guess I will also on arm (currently package is 'Needs build' on arm).

I'm pretty sure that the error is due to a particular typedef in Qt4
headers: in fact, as you can read at [2], file qtglobal.h defines type
qreal as a float for arm arches (instead of a double).

I'm wondering which is the best fix for this problem: maybe it is enough
to cast to (double *) the second argument of modf() (this should not
affect at all build on other arches).

--- qbittorrent-1.1.0beta3.orig/src/realprogressbarthread.cpp
+++ qbittorrent-1.1.0beta3/src/realprogressbarthread.cpp
@@ -142,9 +142,9 @@
                end = array.size();
        int start_int, end_int;
        qreal temp, start_frac, end_frac;
-       start_frac = modf(start, &temp);
+       start_frac = modf(start, (double *) &temp);
        start_int = (int) temp;
-       end_frac = modf(end, &temp);
+       end_frac = modf(end, (double *) &temp);
        end_int = (int) temp;
        if(start_int == end_int)
        {

Otherwise (in order to fix the code in a clean way only for involved
arches), I guess we need to use some specific #define for arm{,el} (does
QT_ARCH_ARM is really suited for this purpose?).

--- qbittorrent-1.1.0beta3.orig/src/realprogressbarthread.cpp
+++ qbittorrent-1.1.0beta3/src/realprogressbarthread.cpp
@@ -142,9 +142,17 @@
                end = array.size();
        int start_int, end_int;
        qreal temp, start_frac, end_frac;
+#ifdef (QT_ARCH_ARM)
+       start_frac = modf(start, (double *) &temp);
+#else
        start_frac = modf(start, &temp);
+#endif
        start_int = (int) temp;
+#ifdef (QT_ARCH_ARM)
+       end_frac = modf(end, (double *) &temp);
+#else
        end_frac = modf(end, &temp);
+#endif
        end_int = (int) temp;
        if(start_int == end_int)
        {

I hope someone more experienced with such arches can suggest me the best
way to proceed.


Thanks,
Cristian

[1] 
http://buildd.debian.org/fetch.cgi?&pkg=qbittorrent&ver=1.1.0%7Ebeta3-1&arch=armel&stamp=1215931718&file=log
[2] http://doc.trolltech.com/main-snapshot/qtglobal.html#qreal-typedef

Attachment: signature.asc
Description: Digital signature

Reply via email to