I want to set up a Zaurus dev environment on my Intel Mac (10.5, Leopard).I need to target the Sharp ROM and would prefer to be able to target any distribution.

OE seems like a good solution but the instructions on the OE website say thatfew people (if any) have set it up for Mac. I am new to Mac and I am not a Linux wizard;I can't afford to spend a long time fixing problems but I'm willing to give it a go ifthe problems are small.

Unless you're trying to build them for the Mac, they SHOULD be ARM libraries/binaries, since that's the architecture that's going to link to them.

I might be way off, though, as I haven't looked at the link or anything.

If you want to build QT/Qtopia apps, you need the moc (meta object compiler) to be a Mac binary.

If you want to emulate, you need qvfb and qpe to be Mac binaries. It's also nice to have all the other Qtopia apps as Mac binaries so you can see a full Qtopia environment. Qtopia is supplied with QuantumStep tools but the files are compiledfor Linux, which seems to be a mistake to me:

Unless you're trying to build them for the Mac, they SHOULD be ARM libraries/binaries, since that's the architecture that's going to link to them.

I might be way off, though, as I haven't looked at the link or anything.

If you want to build QT/Qtopia apps, you need the moc (meta object compiler) to be a Mac binary.

If you want to emulate, you need qvfb and qpe to be Mac binaries. It's also nice to have all the other Qtopia apps as Mac binaries so you can see a full Qtopia environment. Qtopia is supplied with QuantumStep tools but the files are compiledfor Linux, which seems to be a mistake to me:

You don't need ARM binaries - they are already on the Zaurus and can be produced by the cross compiler.

Well, yes and no.

You certainly need some tools to run on the Mac to develop Qt applications. These are gcc and the tools you mention.

And, some libraries/tools need to be available in ARM-ELF version on the Mac so that gcc can properly link against them. To do that, it reads the symbol table of the ELF objects.

Maybe, you also need to install the native Qt development tools and then take whichever part you need.

One more hint for cross-compiling Linux packages: sometimes, they build their own host-tools. In that case make sure that the makefiles can distinguish between (darwin-)gcc and arm-linux-gcc. This can usually be done by setting $PATH and/or some flags to ./configure or the makefile

I am assuming that you are the person who has kindly provided the Quantum Step tool chain. Please let me know if I am wrong. I want to use QS to develop Zaurus apps but there are a few things missing.

As you suggest, I think I have to compile my own QT/embedded and Qtopia for emulation.

QUOTE(dhns @ Apr 30 2009, 12:38 AM)

QUOTE(koan @ Apr 29 2009, 01:59 AM)

You don't need ARM binaries - they are already on the Zaurus and can be produced by the cross compiler.

Well, yes and no.

You certainly need some tools to run on the Mac to develop Qt applications. These are gcc and the tools you mention.

And, some libraries/tools need to be available in ARM-ELF version on the Mac so that gcc can properly link against them. To do that, it reads the symbol table of the ELF objects.

Maybe, you also need to install the native Qt development tools and then take whichever part you need.

To develop apps I need:

Cross compiler toolchain (Mac)

OS libraries (ARM)

QT embedded libraries (ARM)

Qtopia libraries (ARM)

Sharp support library: libsl (ARM)

QT build tools, such as moc and maybe others (Mac)

Include files for above (system, QT, Qtopia, Sharp)

tmake (Perl script with configuration for Zaurus)

dev-arm-qpe.sh (Shell script to set paths)

QS only has the toolchain, OS libraries and system include files. I have found a suitable tmake configuration, written a dev-arm-qpe.sh script and found some of the Sharp specific includes.

Qtopia is supplied by QS, but as you can see from my post above, it is compiled for Linux i386. I can't use this to emulate on Mac and I can't use it for linking when cross compiling because it is not ARM. To be honest, I'm a bit confused about why it is included in the archive because I can't see how I can use it.

I think you should either offer the toolchain plus system includes only, or package everything in the list above plus QT embedded (Mac) and Qtopia (Mac) for emulation. If you package everything then that would be a very nice set up.

A final point: the layout of QS is confusing! Especially arm-quantumstep-linux-gnu/arm-quantumstep-linux-gnu

I am assuming that you are the person who has kindly provided the Quantum Step tool chain. Please let me know if I am wrong. I want to use QS to develop Zaurus apps but there are a few things missing.

Yes... Approx. 3 or 4 years ago since gcc 2.95.3 is really old technology.

QUOTE

As you suggest, I think I have to compile my own QT/embedded and Qtopia for emulation.

To develop apps I need:

Cross compiler toolchain (Mac)

OS libraries (ARM)

QT embedded libraries (ARM)

Qtopia libraries (ARM)

Sharp support library: libsl (ARM)

QT build tools, such as moc and maybe others (Mac)

Include files for above (system, QT, Qtopia, Sharp)

tmake (Perl script with configuration for Zaurus)

dev-arm-qpe.sh (Shell script to set paths)

QS only has the toolchain, OS libraries and system include files. I have found a suitable tmake configuration, written a dev-arm-qpe.sh script and found some of the Sharp specific includes.

Qtopia is supplied by QS, but as you can see from my post above, it is compiled for Linux i386. I can't use this to emulate on Mac and I can't use it for linking when cross compiling because it is not ARM. To be honest, I'm a bit confused about why it is included in the archive because I can't see how I can use it.

I have just incuded that as recommended by lucid-cake.net but never used it...

So I can't help you there with any experience.

QUOTE

I think you should either offer the toolchain plus system includes only, or package everything in the list above plus QT embedded (Mac) and Qtopia (Mac) for emulation. If you package everything then that would be a very nice set up.

A final point: the layout of QS is confusing! Especially arm-quantumstep-linux-gnu/arm-quantumstep-linux-gnu

That is quite normal for gcc to have such strange looking subdirectory structures. The main reason is to provide to install several toolchains in parallel. If you write a script that defines a "TOOCHAIN=..." shell variable it becomes quite easy to use $TOOLCHAIN/bin.

I have just incuded that as recommended by lucid-cake.net but never used it...

He wasn't recommending to include Linux binaries. He built QT using gcc 2.95 as a native Mac binary.

I can see now that what I need is gcc 2.95. I tried applying thepatches by Andreto make it as a normal compiler, but I still can't build it,the tm.h is looking for openstep.h but his patch introduces xm-openstep.h. It's not trivial to rename it asthat causes other problems.

I'd really have to dig into how to set up gcc for Mac properly to do this but afterwards it should be quite easyto build a QT emulation environment. Unfortunately I am a complete beginner at Mac/BSD.

I have just incuded that as recommended by lucid-cake.net but never used it...

He wasn't recommending to include Linux binaries. He built QT using gcc 2.95 as a native Mac binary.

I can see now that what I need is gcc 2.95. I tried applying thepatches by Andreto make it as a normal compiler, but I still can't build it,the tm.h is looking for openstep.h but his patch introduces xm-openstep.h. It's not trivial to rename it asthat causes other problems.

I'd really have to dig into how to set up gcc for Mac properly to do this but afterwards it should be quite easyto build a QT emulation environment. Unfortunately I am a complete beginner at Mac/BSD.

Strange. I can't follow you any more what you are trying to do.

The QuantumSTEP compilers are gcc 2.95.3 and they work well for (non-Qt) projects. And are built following the instructions from lucid-cake. And since everything is built on a Mac, I don't know where you get Linux binaries from? The only part are some i386-RPMs which are required to bootstrap glibc and linuxheaders.

Maybe, can you better describe which Linux binaries you did find within the QuantumSTEP compiler package.

I want to cross compile QT embedded applications for Zaurus (Sharp ROM) on my Mac.As it stands, I can't build and link as there are some QT tools missing that I need as Mac binaries: moc and uic.It is also very useful if there is an emulation environment, for that I need Mac binaries of QT embedded, Qtopiaand gcc 2.95.

QS supplies a cross compiler for Mac but no moc, uic, QT/e, Qtopia or gcc 2.95.QS includes Qtopia compiled for Linux/i386 in /Developer/Xtoolchain/i386-apple-darwin/gcc-2.95.3-glibc-2.2.2/arm-quantumstep-linux-gnu/arm-quantumstep-linux-gnu/opt/Qtopia : apart from one of two scripts, most of this is useless for Mac developers.

I am interested in making my own tools for the above, QT etc are all so old that they will only compile with gcc 2.95. If I have gcc then it will be much easier to build these tools.

QS provides a cross-gcc 2.95.3 but you are looking for a non-cross-gcc? That runs on Darwin creates Darwin code? Apple did drop support in MacOS X 10.2 or so and moved to gcc-3.3 and 4.x. Usually, a newer gcc can be made compatible to gcc-2.95 (unless there are workarounds for bugs).

Creating that is quite complex and I don't know if it has ever been done since ar/as/ld needs a backend to write Mach-O binaries instead of ELF.

lucid-cake writes how to install the full development environment. But to do that you should start to download the sources from some ftp.trolltech - but that server appears to have disappeared and I have no idea where these files are.

BTW: if you want to build your own cross-toolchain, follow the instructions on lucid-cake. There is one tweak that is not described - how to patch that it is built on i386-apple-darwin (everything is described for powerpc-apple-darwin).