What do you do if libs / headers are missing? Just install them using opkg install on the Pandora?
I *was* a huge proponent of the Angstrom repo package manager, opkg, but the problem is that the Angstrom build server that is used to create a big part of the Pandora firmware isn't really maintained as a publically-exposed repo. So, while we *could* have a nicely running opkg system being run by the people making the firmware, we currently don't. opkg is, thus, broken.
So, I try not to use it. Its not a huge problem; I've been using freamons C/C++ Development PND with great success, it is a succinct and beautiful solution to the problem, and is very promising. Since Pandora is a "PND" machine, then lets all move to PND.
The reason its easy for me to abandon my love for opkg so easily is that my general policy is that if its in the Dev PND or some other PND, then I use it - if not and if I can, I install it myself.
This is, for example what I've done with cscope and screen, two very nice utilities for onboard development with the Pandora. I built both packges, "export PANDORA_LOCAL_HOME=/media/SD16/pandora/ && ./configure --prefix=$PANDORA_LOCAL_HOME", "make install" and, "PATH=$PATH:/$PANDORA_LOCAL_HOME", and so on. This works also, well enough, with a local include/ and lib/ and even var/ tree mounted at $PANDORA_LOCAL_HOME, and .. so on. All of this is just a few lines in my own .j_devrc, stashed on SD16.
EDIT: Also, my projects are all pretty well self-contained, and another important point: there are in fact a great deal of great libs available in the default firmware, in the first place. Boundary cases are solvable.