[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

qbittorrent 1.1.0beta3: FTBFS on arm arches



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 to: