Compiling On The Pandora


TrashyMG

Sarcasm Dispenser
Staff member
Joined
Jan 18, 2010
Messages
11,409
Would compiling software directly on the pandora be feasible with space limits? or Is Cross Compiling the easiest solution?

I know I could install all the compiling headers, includes and tools on a separate flash card but would be a mess to setup initially. I'm Just curious what to expect when I get mine.
 
Cross compiling will probably be the best for large projects (assuming you have a reasonably powerful computer) but it's definitely possible to compile on the Pandora. The Angstrom build for BeagleBoard has gcc included and I don't see any reason it wouldn't be on the Pandora, except maybe size concerns. Even if it's not, it's easy enough to install the package for it. I've used it to compile a few small quick programs, but I can't imagine rebuilding a huge project.
 
You _can_ compile on the Panda; consider the merits of the Panda hardware compared to common servers not that many years ago. (Heck, my mail server/static-webserver was a 200Mhz repurposed crappy old desktop box until a few years ago.) However of course, coding with a tiny keyboard without all the handy keys, small screen etc, is up to you ;) (The firmware probably won't include everything you'd need, but you could add in the bits you want/need. Add a usb keyboard and or VNC in from a fat client and you'd be using a machine thats pretty darned good, circa a few years ago. But then you've pretty much invalidated the portability ;)

So yes, you certainly can; I've run compilers on my Palm PDAs too, but its not the sort of thing I want to do :)

jeff
 
skeezix said:
You _can_ compile on the Panda; consider the merits of the Panda hardware compared to common servers not that many years ago. (Heck, my mail server/static-webserver was a 200Mhz repurposed crappy old desktop box until a few years ago.) However of course, coding with a tiny keyboard without all the handy keys, small screen etc, is up to you ;) (The firmware probably won't include everything you'd need, but you could add in the bits you want/need. Add a usb keyboard and or VNC in from a fat client and you'd be using a machine thats pretty darned good, circa a few years ago. But then you've pretty much invalidated the portability ;)

So yes, you certainly can; I've run compilers on my Palm PDAs too, but its not the sort of thing I want to do :)

jeff

Yeah I'm not too concerned with speed of the hardware compared to my PDA it's a killer system, just the capacity of the built on flash memory when dealing with installing lots of libraries, headers and such.
 
Last edited by a moderator:
Theres a limited amount of space left on NAND; theres some for libs and such, but you don't want to go nuts. For the most part you want to leverage your SD and caching; keeping your .o intermediates and source and such on SD, with any produced shared-libs on SD in your LD_LIBRARY_PATH should be fine ;) But if you wanted to build a few things like kernel modules or missing libs and drop them into the system, sure, fine; I'm just thinking.. you don't really want to build something giant like QT or gcc on the device, but smaller things, sure. And well, you could probably build anything of course. ie: Mount an SD as ext3 (say), and then run a full build on there even should be fine. I do it on my normal laptop all the time, and Panda should be fine in the same regard.

jeff
 
I compiled Gentoo Linux, up to and including XFCE, on a Pentium 133Mhz laptop with 48MB RAM so I'm sure that a Pandora would have no problem with most things that you'd normally want to compile.
 
lets say i want to compile stuff on the pandora.

could you make it install the files, to the sd? but having the sd mounted to the root, or something.

hard to explain hope you know what i mean
 
Definitely possible!

If you want to use it as a devel system, I'd recommend you to install Gentoo (http://neuvoo.org/) on it. You will have all you need: sources, headers, etc. The only problem here is storage capacity, which is actually not a problem for Pandora - just buy a 16/32 gig SD card.

So the best solution IMHO is to have the 'public firmware' on NAND and you own devel system on SD card. It's a well known practice for Zaurus PDAs.

Regarding performance. Pandora's performance is approx. Pentium 3, which is enough to compile all software natively. It's just a matter of time. `emerge world` takes 3-4 days on my Zaurus C1000. Yeah, it's kinda boring. But it should be 5-10 times faster on Pandora.
 
It would be so much easier to compile for Target ON the target.
I'm sure we could get svn (subversion) running and download source and (*try*) compile directly on the Pandora!

Things like Google Chrome, Arduino (maybe) and other open source apps that could run on ARM would be easy to download using svn and just modify the makefile and build it.

Is my theory correct?


If it works that easily then we could possibly see SO MANY apps being ported and released for the Pandora on a daily basis!
 
ben_dash said:
I compiled Gentoo Linux, up to and including XFCE, on a Pentium 133Mhz laptop with 48MB RAM so I'm sure that a Pandora would have no problem with most things that you'd normally want to compile.

Maybe we should mention how long that took.
 
Last edited by a moderator:
Sphinxter said:
ben_dash said:
I compiled Gentoo Linux, up to and including XFCE, on a Pentium 133Mhz laptop with 48MB RAM so I'm sure that a Pandora would have no problem with most things that you'd normally want to compile.

Maybe we should mention how long that took.

Haha, yeah it took about a week but the point is that if you want to compile something relatively simple then you should have no problem compiling it on the Pandora. If you want to compile the entire OS then cross compile it on your core i7!
 
Last edited by a moderator:
The Pandora, considering how little crap it will probably have to run, will probably be more powerful than anything I own.
 
kingoddball said:
Things like Google Chrome, Arduino (maybe) and other open source apps that could run on ARM would be easy to download using svn and just modify the makefile and build it.
We (a fellow at #gentoo-embedded and I) recently compiled Chromium for the ARM. It runs like clockwork. The speed is good. It's not jaw-dropping, but it's more than usable. :)

kingoddball said:
Is my theory correct?
Yes. The Neuvoo project has been operating under this theory for a while now. We have access to nearly the entire library of Linux software, minus the few projects (mostly emulators) that use x86-specific assembly and other such annoyances.

kingoddball said:
If it works that easily then we could possibly see SO MANY apps being ported and released for the Pandora on a daily basis!
Indeed. :)

Sphinxter said:
Maybe we should mention how long that took.

Compiling all that on the BeagleBoard I have (which runs slower than the Pandora) took me about two or three days, when unassisted by icecream or ccache (which, combined, provide a good 25-30%+ speed increases). Not so bad, when comparing to ben_dash's laptop. :)
 
Last edited by a moderator:
Thats EXCELLENT!
I can't wait to get my Pandora and start messing with all this!

I've just got to learn how to do all this new stuff.
My goal is to port the Arduino GUI/IDE. Apparently it should port fairly easily (at least the main piece of software) but I can't figure out to to cross compile on my Mac and I'm not sure how to change the makefile correctly. So that why I thought build for Target on the actual target might work!
 
I'm a huge fan of compiler-onboard, and pretty much use this technique for all my development wherever possible.

I have an AI touchbook, and I've done a few ports and quick hacks on the Touchbook itself, using the built-in compiler. Its not that bad - certainly acceptable performance for compiling, and if you organize your project well enough (small modules, lots of files) then you can get along pretty nicely, in my opinion. Its certainly acceptable.

But okay, if you're used to having a multi-core build server around to do all the heavy lifting, it will seem quaint to go back to the Pandora to do some compiling. But I will definitely be working on using compiler-onboard during my Pandora efforts .. cross-compiling and maintaining the relevant environment can be such a hassle ..
 
Your AI Touchbook has a complete keyboard. The Pandora keyboard won't be good enough for long sessions of programming, I'm afraid.
 
Laurent said:
Your AI Touchbook has a complete keyboard. The Pandora keyboard won't be good enough for long sessions of programming, I'm afraid.
It's not only about programming. You may want to install Gentoo (for example) and compile your own system with special `USE` flags, patches, etc. User don't have to edit source code in this case.
 
Last edited by a moderator:
kingoddball said:
---Snip---
I can't figure out to to cross compile on my Mac and I'm not sure how to change the makefile correctly. So that why I thought build for Target on the actual target might work!
I intend on doing some development and compiling on the Pandora also.
But just because your having trouble cross compiling at the moment, doesn't mean that it wont be easier once the Pandora is released and a couple guides etc have been set up.

I also think that it's more likely that once the guides are up, that's when we'll get all the stuff compiled, more so than because people will be able to compile them on their Pandora's.
Being able to download and cross compile in a fraction of the time compared to on the Pandora (for most people) will be more of an advantage compared to, "well I can" on the Pandora. Not including just having a better keyboard and larger display to work with.

I see no reason cross compiling should be hard or awkward pretty soon after the Pandora's actual release.
 
Last edited by a moderator:
Oh for sure the Touchbook keyboard is crap for development as well, I'd go crazy having to edit C++ code on it for longer than 20 minutes .. but this thread is about "compiling" onboard, not "editing"/"doing all development" onboard. Not necessary, I think, to edit on the Pandora .. unless someone comes up with a language tailored just for the Pandora keyboard!!?? Python!?
 
Back
Top