OESF | ELSI | pdaXrom | OpenZaurus | Zaurus Themes | Community Links | Ibiblio

IPB

Welcome Guest ( Log In | Register )

> About To Set Up Oe... Maybe, Dev environment set up for Intel Mac
koan
post Apr 21 2009, 07:28 AM
Post #1





Group: Members
Posts: 328
Joined: 25-February 04
From: UK
Member No.: 2,025



Hi

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 that
few 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 if
the problems are small.

Is OE the way or should I be looking at another method ?

Thanks
Go to the top of the page
 
+Quote Post
 
Start new topic
Replies
Capn_Fish
post Apr 28 2009, 09:48 AM
Post #2





Group: Members
Posts: 2,350
Joined: 30-July 06
Member No.: 10,575



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.
Go to the top of the page
 
+Quote Post
koan
post Apr 28 2009, 03:59 PM
Post #3





Group: Members
Posts: 328
Joined: 25-February 04
From: UK
Member No.: 2,025



QUOTE(Capn_Fish @ Apr 29 2009, 02:48 AM) *
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 compiled
for Linux, which seems to be a mistake to me:

CODE
$ file Qtopia/bin/qpe
bin/qpe: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped


You don't need ARM binaries - they are already on the Zaurus and can be produced by the cross compiler.
Go to the top of the page
 
+Quote Post
dhns
post Apr 29 2009, 07:38 AM
Post #4





Group: Members
Posts: 699
Joined: 26-February 04
From: near Munich, Germany
Member No.: 2,043



QUOTE(koan @ Apr 29 2009, 01:59 AM) *
QUOTE(Capn_Fish @ Apr 29 2009, 02:48 AM) *
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 compiled
for Linux, which seems to be a mistake to me:

CODE
$ file Qtopia/bin/qpe
bin/qpe: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped


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

Maybe, this page also helps (I am not at all a Qt expert):
http://www.lucid-cake.net/osx_qpe/index_en.html
http://www.lucid-cake.net/osx_qpe_tutorial/index_en.html

-- hns
Go to the top of the page
 
+Quote Post
koan
post Apr 29 2009, 06:43 PM
Post #5





Group: Members
Posts: 328
Joined: 25-February 04
From: UK
Member No.: 2,025



Hi Nikolaus,

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:
  1. Cross compiler toolchain (Mac)
  2. OS libraries (ARM)
  3. QT embedded libraries (ARM)
  4. Qtopia libraries (ARM)
  5. Sharp support library: libsl (ARM)
  6. QT build tools, such as moc and maybe others (Mac)
  7. Include files for above (system, QT, Qtopia, Sharp)
  8. tmake (Perl script with configuration for Zaurus)
  9. 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

Go to the top of the page
 
+Quote Post
dhns
post May 1 2009, 02:42 AM
Post #6





Group: Members
Posts: 699
Joined: 26-February 04
From: near Munich, Germany
Member No.: 2,043



QUOTE(koan @ Apr 30 2009, 04:43 AM) *
Hi Nikolaus,

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:
  1. Cross compiler toolchain (Mac)
  2. OS libraries (ARM)
  3. QT embedded libraries (ARM)
  4. Qtopia libraries (ARM)
  5. Sharp support library: libsl (ARM)
  6. QT build tools, such as moc and maybe others (Mac)
  7. Include files for above (system, QT, Qtopia, Sharp)
  8. tmake (Perl script with configuration for Zaurus)
  9. 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.

Nikolaus
Go to the top of the page
 
+Quote Post
koan
post May 3 2009, 07:55 AM
Post #7





Group: Members
Posts: 328
Joined: 25-February 04
From: UK
Member No.: 2,025



QUOTE(dhns @ May 1 2009, 07:42 PM) *
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 the
patches by Andre
to 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 as
that 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 easy
to build a QT emulation environment. Unfortunately I am a complete beginner at Mac/BSD.
Go to the top of the page
 
+Quote Post
dhns
post May 3 2009, 12:32 PM
Post #8





Group: Members
Posts: 699
Joined: 26-February 04
From: near Munich, Germany
Member No.: 2,043



QUOTE(koan @ May 3 2009, 05:55 PM) *
QUOTE(dhns @ May 1 2009, 07:42 PM) *
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 the
patches by Andre
to 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 as
that 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 easy
to 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.

Nikolaus
Go to the top of the page
 
+Quote Post
koan
post May 3 2009, 03:54 PM
Post #9





Group: Members
Posts: 328
Joined: 25-February 04
From: UK
Member No.: 2,025



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, Qtopia
and 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.

I need a Mac native binary of gcc 2.95.

Go to the top of the page
 
+Quote Post
dhns
post May 4 2009, 04:16 AM
Post #10





Group: Members
Posts: 699
Joined: 26-February 04
From: near Munich, Germany
Member No.: 2,043



QUOTE(koan @ May 4 2009, 01:54 AM) *
QS supplies a cross compiler for Mac but no moc, uic, QT/e, Qtopia or gcc 2.95.
I need a Mac native binary of gcc 2.95.
Now I begin to understand your problem.

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).

Here is an excerpt from one of my scripts:
CODE
                echo '#include "i386/xm-i386.h"' >gcc/config/i386/xm-openstep.h
                echo '#undef USG' >>gcc/config/i386/xm-openstep.h


Sorry that I got confused... all around gcc 2.95 is quite outdated.

-- hns
Go to the top of the page
 
+Quote Post

Posts in this topic


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 22nd October 2014 - 02:28 PM