Posts tagged 'openembedded'

GNU Classpath 0.17

It turns out I missed the 0.17 release, probably because I didn't expect a new release so soon. Rock on, guys! Updated packages are available at the same location as before.

I'm afraid I can't push ('monotone sync' actually) to the OpenEmbedded repository right now, since monotone decided to screw itself over and fail with an invariant violation on 'monotone merge'. If you want to build Classpath 0.17 with OE just rename the .bb: 'mv packages/classpath/classpath_0.16.bb packages/classpath/classpath_0.17.bb'.

OpenEmbedded Updates

While I've been on a work and university deadlines induced hiatus a lot of things have happened in the Free Software world. One of those is that the free (as in beer) BitKeeper client is now history and OpenEmbedded switched to monotone. After a bit of struggling with monotone (it's dead slow - 80mins for an initial pull on a P4 2.4GHz, much longer on older hardware) I now have a working OpenEmbedded environment again.

I've upgraded GNU Classpath, JamVM, and SableVM to current versions. Binary packages for Familiar 0.8.x are available here. The dependencies are against more recent packages than what's in Familiar 0.8.2. Try --force-depends to install them - YMMV.

For those who are wondering, I have no plans to add SableVM SDK to OpenEmbedded or ship it as a package for Familiar, since it violates a couple of common distribution rules (and the FHS?). And on embedded devices (which are low on flash space) it doesn't make sense to ship duplicate binaries anyway . Fine grained packaging and sharing binaries/libraries among applications is the rule there.

In related news, I had to remove the included external libraries from the sablevm source tree and patch out any references to them from the Makefile.am's to make autoreconf work with it (That's necessary to replace certain macros with ones that work in a cross compilation environment). I highly recommend running autoreconf to sanity check the autotools input files before releasing stuff like that.

Hello, Planet Classpath!

Now that Mark has added my blog to the feeds for Planet Classpath it's time for a short summary of the Free Java status in OpenEmbedded.

OpenEmbedded is a cross compilation aware build system (consisting of a set of tools and package description files) aimed at building entire (currently Linux based) distributions from sources. Examples for distributions using it today are Familiar and OpenZaurus.

So what's in already?

  • GNU Classpath (built with jikes)
  • fastjar (available at build time for jar creation)
  • JamVM
  • Jikes (available both at build time and as a package)
  • Kaffe (work in progress. builds but at least on ARM doesn't work yet.)
  • libffi
  • SableVm

The road ahead obviously includes cross compilation to native code using gcj. Basically it should be as simple as enabling gcj in the gcc-cross build, but I haven't got to looking into that closely yet.