[Sugar-devel] The ARM is near
Benjamin M. Schwartz
bmschwar at fas.harvard.edu
Thu Aug 27 22:58:09 EDT 2009
Bobby Powers wrote:
> I think having something like:
>
> example.activity
> |-arch/
> |-arch/x86/
> |-arch/x86/bin/
> |-arch/x86/lib/
> |-arch/armel/
> ...
>
> could work. Sugar could set an environmental variable ARCH to the
> relevant value, and we could have a reference activity_startup.sh
> which adds the correct lib path to LD_LIBRARY_PATH and launches the
> appropriate executable (or maybe a flag in activty.info which has
> sugar do this). This is still somewhat kludgy, but I'm not sure of a
> better way.
Which solution we should choose is a technical discussion that deserves
its own thread. I'm personally not enthusiastic about the "fat packages"
approach, in which binaries for many architectures are included in one .xo
bundle, because:
1. It wastes space, by carrying around duplicate copies. This gets even
worse for >2 architectures, and even 32-bit and 64-bit x86 might need to
be treated as separate architectures.
2. It's not future-proof. Packages that work on ARM and x86 will be
broken again if we try to support MIPS (like the Lemote laptops, Free and
perfect for Sugar), or maybe even Sparc or Power (massively SMT chips,
perfect for LTSP).
3. It won't happen. Cross-compiling libraries is tremendously difficult,
so Activity developers won't do it. They'll just get it working on their
platform and ship it.
4. It's unreliable. There is no good way to produce binaries that are
guaranteed to work on both 32-bit x86 Fedora 9 and 32-bit x86 Fedora 10.
Changes between versions can break binary compatibility. Between
different distros it's even worse. The Pippy activity recently
experienced exactly this problem due to the included Box2D binary library.
--Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
Url : http://lists.sugarlabs.org/archive/sugar-devel/attachments/20090827/c1c2396b/attachment.pgp
More information about the Sugar-devel
mailing list