Debugging error to ensure necessitas on MacOS X Lion runs properly

Ray Donnelly mingw.android at gmail.com
Tue Jul 3 22:53:04 UTC 2012


Hi Nalin,

> 1. Faced the error described below ? Drop me a unicast mail OR mail on-list.

I replied off-list last time you mentioned your problem with
Necessitas on Mac, and I tracked your problem down to the fact that
you were compiling for armv7a and trying to run that on android-7.

The android emulator only supports armeabi with platform <= 13. To quote myself:

"DId you try armeabi (or platform >= 14) yet?"

You never got back to me on that question ;-)

So please try that. For best results though I'd recommend using a
device instead of the emulator.

> I want to ultimately add to necessitas creator on ios enough that we can cross-compile apps for ios devices-- ipad/iphone/ipods.

Well, I'm not sure how relevant Necessitas is for iOS to be honest,
many of us are fans of Free and Open Source Software and iOS is
ideologically firmly in the proprietary camp. From a purely "wow,
that's cool" perspective, I'd love to be able to develop iOS apps on
Qt Creator, but from every other perspective... here's my take:

I know you'll be aware of most of this already but to recap anyway,
Necessitas consists of:

1. [LIBS] The Qt framework (4.8 currently) ported to compile and run on Android.

2. [IDE] A plugin for Qt Creator (this has actually been merged with
the mainline of Qt Creator's source code now thanks to BogDan's great
efforts) which when built along with Qt Creator, we call "Necessitas
Qt Creator".

3. [LIBPROVISION] The Ministro service which manages the shared
libraries of the Qt framework.

4. [TOOLCHAIN] A custom version of the Android NDK with Linaro's GCC
and GDB with Python integration (this integration allows for a better
debugging experience with Qt Creator)

5. [SDK] A re-packaging of the Android tools and Android SDK platforms.

6. [INSTALLER] An installer to bring the all of the above things (and
some random other needed bits - ant and make for Windows) together.

You'd need to do something similar for iOS. Here's a rundown of what
would be needed/not needed if you wanted to go down this path.

1. [Libs] There's already more than one port of Qt 4 for iOS [1] &
[2]. One seems more active than the other.

2. [IDE] AFAIK, both the Qt iOS projects are based around using xCode
to as the IDE which obviously limits them to working on Mac computers
only. However, since Qt Creator can be used to develop Mac software
and since there's very little difference between iOS and OSX, adopting
Qt Creator to support iOS wouldn't be very much work. This would also
enable Linux and Windows based development.

3. [Lib Provisioning] Apple don't allow shared libraries on their App
Store so you'd not be able to make use of anything like Ministro for
official development, of course there's other app stores for iOS out
there for jailbroken devices, but that requirement is obviously far
from ideal. Also, please be aware of the licensing problems with
static linking highlighted in [3]. The long and short of it is that
only Open Source projects would be able to release software made with
your proposed Qt iOS development environment.

4. [Toolchain] Apple only provides toolchains that run on OS X for
developing iOS software as it's not in their interests to provide them
for any other platforms. More-over these are only available as part of
xCode from the Apple Mac App Store. On a more positive note, OS X,
Windows and Linux ports of the Apple GCC and llvmgcc toolchains are
available to allow compiling both Mac OS X and iOS software [4], [5] &
[6] (full disclosure: I made these)

5. [Debugging] How would you communicate with the iOS devices? You'd
obviously require jailbroken devices and have to get your hands dirty
with the lower levels of the Darwin OS.

6. [SDK] Again, another roadblock. To get the iOS SDK you need to pay
Apple and be a registered developer (again, with xCode, again, from
the App Store). Whereas for Windows there exists for example, the
MinGW family of Open Source SDKs, nothing of the sort exists for iOS.
There was at one point a project called OpenDarwin and also
PureDarwin, but they're to all intents and purposes completely dead.
Why this is the case would make for an interesting discussion on its
own (but probably not one for this list).

7. [Installer] Once you've either fixed, worked around or accepted
these problems, getting the installer to work will be, relatively
speaking, easy.

So if you still want to investigate an iOS port, there's not
necessarily any reason/benefit for it to be as part of the Necessitas
project. It'd probably (almost definitely?) never be possible to use
it commercially on the App Store. The path of least resistance is to
agree that the nature of Google's Android is a *lot* more friendly to
Qt development than Apple's iOS, and I'd encourage you to devote your
efforts to this path of least resistance. Having said that, I know how
tempting this sort of technical challenge can be and how this sort of
attempt at discouragement can sometimes have to oposite effect to
people with a certain mind-set!

Many thanks,

Ray.

[1] http://sourceforge.net/projects/qt-iphone/
[2] https://qt.gitorious.org/~ianfromafrica/qt/qt-ios-plaszma
[3] http://qt-project.org/wiki/Licensing-talk-about-mobile-platforms
[4] http://mingw-and-ndk.googlecode.com/files/multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Darwin-120615.7z
[5] http://mingw-and-ndk.googlecode.com/files/multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Windows-120614.7z
[6] http://mingw-and-ndk.googlecode.com/files/multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120531.tar.xz

On Tue, Jul 3, 2012 at 10:25 PM, Nalin Savara <nsnsns at gmail.com> wrote:
> Hi People,
> Am looking to fix this error-- and am also looking for necessitas developers
> who can guide me-- and/or people who want to collaborate and volunteer to
> help/test.
>
> Some days back I posted a error I got trying to run Necessitas on MacOS X
> Lion on my MacMini.
>
> The same error was also faced by a friend-- who also downloaded and ran it
> around same day on big-screen Mac.
>
> Are there others who have tried running necessitas on macos x lion-- who
> have:-
>
> 1. Faced the error described below ? Drop me a unicast mail OR mail on-list.
>
> 2. Who are currently successfully running a previous version of necessitas--
> out-of-the-box-- and which successfully compiles and runs APKs in emulator ?
> Details please-- either mail here OR mail me off-list.
> Which is the last version of necessitas which works ok when using on mac os
> x lion ?
>
> *
> I want to ultimately add to necessitas creator on ios enough that we can
> cross-compile apps for ios devices-- ipad/iphone/ipods.
> *
> What say ?
>
> Regards,
>
> Nal
> PS: I am on googletalk also-- feel free to add me. OR mail my gmail ID on
> nsnsns at gmail dot com
>
> _______________________________________________
> Necessitas-devel mailing list
> Necessitas-devel at kde.org
> https://mail.kde.org/mailman/listinfo/necessitas-devel
>


More information about the Necessitas-devel mailing list