Alpha4 release status

BogDan Vatra taipanromania at gmail.com
Mon Jun 4 11:02:17 UTC 2012


Hi everyone,

 As you may know the alpha4 release is approaching, the plan is to
have it ready before Qt Contributors Summit. It is almost completed, I
need a few days to polish the style plugin and Minitro and another few
to add support for context menus.

  A few days ago I pushed to Minnistro's "unstable" repository the
current alpha4 branch in order to check if the existing released apps
are still working. Even we've made some heavy changes and even if I
warn you that it may break the compatibility with older versions, I
wanted alpha4 to be backward compatible with alpha3, it is also a test
for Necessitas developers to see if we can keep our promise: to ship
releases which are backward compatible!

If you want to try it yourself please follow the next two steps:
 - uninstall official Ministro and use this one
http://files.kde.org/necessitas/MinistroActivity.apk.
 - install and run Ministro configuration tool (from market) and
choose unstable repository.

Don't forget that Ministro is not stable and it may crash/hang, if you
encounter any problems please reply on this thread.

Shorty after the repository was ready, I tried a few apps from market
and two major problems pop up:
- The first problem was related to some missing symbols and was caused
by compilation/linking flags.
- The second one is related to OpenGL and it seems to be caused by the
merge with Qt 4.8.2.


1. Missing symbols problem: Android comes with almost no support for
C++, so to compile Qt we used (static) gnu-libstdc++.
Then I discovered that this was a big mistake (for more information
check Android NDK docs/CPLUSPLUS-SUPPORT.html "II.3. Static runtimes:"
section).
We can not use link libstdc++ statically if we are using more than one
shared libraries in a project. To fix this problem I had two choices:
 - to use the shared libstdc++ implementation and to change all the
scripts in order to add it to ministro (1.2M).
 - to "embed" the whole library into QtCore library (it adds and extra
600K) but this change requires no additional changes.

I choose the second one [1],[2] because it was safe and easy and
mostly because it didn't needed any other changes.
If anybody has something against this change speak now or forever hold
your peace !

I'd like to add exceptions and RTTI by default, if the size and speed
will not be affected.

2. OpenGL problem: After I merged alpha4 branch with upstream Qt
4.8.2, most of the OpenGL apps are not working anymore, I tried to fix
it my self but I end up with a very ugly workarround. It seems that
"boolQGLContext::areSharing(constQGLContext*context1,constQGLContext*context2)"
always returns false. I tried to trace the problem but with no luck
and I end up adding a super dirty workarround: on android,
"QGLContext::areSharing", will always returns true. I really don't
like it, so until we'll figure out what is wrong the release process
will stop ...

Any help will on this matter be very appreciated !

I've spot another minor problem with old assets support it was caused
by "QString QDeclarativeTypeLoader::absoluteFilePath(const QString
&path)" I fixed it locally but I didn't had time to push the fix to
Minsitro's repository yet.
I'll keep you post with the progress and with any Ministro repository changes.

Cheers,
BogDan.


[1] http://quickgit.kde.org/index.php?p=android-qt.git&a=commit&h=8c4c862ee26283d1f4cd698071d002577aff72df
[2] http://quickgit.kde.org/index.php?p=android-qt.git&a=commit&h=abe85f41bd892a9948dda1fd8d124878c5bf37ab


More information about the Necessitas-devel mailing list