I only created 32 Bit binaries; Solaris (10, 11, OpenSolaris and its derivates) has a different philosophy than Linux
when it comes to 32 versus 64 Bit: In Solaris the kernel is always 64 Bit while most of the binaries are 32 Bit (because typically
there is no need for 64 Bit binaries for ls, sh and so on). Only where needed 64 Bit binaries will be supplied.
Especially for SPARC there are good reasons for this: while x64 might have an increased speed compared to i386 because
of the increased amount of registers, this is not true for SPARC. Thus with 64 Bit you have to pay a lot (memory consumption and speed penalties)
and often will not have positive effects. BTW this is also true for the address space of virtual machines. It’s a nice idea to be able to have billions of objects
versus only some millions. But this also comes with big penalties...
In Solaris libraries come typically in 32 and 64 Bit (eg. there is /usr/lib and /usr/lib/amd64. Additionally there are symlinks:
/usr/lib/32 -> /usr/lib and /usr/lib/64 -> /usr/lib/amd64). The use of it is steered by compiler and linker flags.
For OpenIndiana I only used what comes with the distribution. I only had to install the „build-essential“ and SUNWaudh packages.

If you to build on Solaris 10 you will need to add a newer gcc and some support libraries like libffi, gmp and mpfr. You can find these on


Am 07.06.2014 um 23:38 schrieb gettimothy <gettimothy@zoho.com>:

Hi Andreas.

Could you please submit a list of what internal and external plugins you compiled the VM with?

Also, could you please send the register size of the platforms you have built on and if any 32 bit compatibility libs where needed.