my understanding is that 64 bits are not
well supported at this time. It's probably not what you want to
hear, but have you thought of making a 32 vm on your 64 bit
machine?
There are several possible combinations:
1) 32bit VM and 32bit image.
2) 64bit VM and 32bit image.
3) 64bit VM and 64bit image.
As far as I know, there are no suitable (meaning stable, up to date
and maintained) 64bit images. Thus option #3 is quite non-existent
unless for image development purposes.
It is posssible to have the traditional SqueakVM (stack vm) compiled
in 64bit mode. It will work all right with 32bit images. It will
interface ok with OS as far as you don't want to make your programs
link to external libraries. This bar includes not only FFI but
plugins as well. As far as I know, currently CogVM must suffer
changes in order to be compiled in 64bit mode. So, option #2 is
workable but very limited.
It is possible to have 32bit VM and 32bit image provided you have a
complete 32bit environment around you. That includes lots of things.
For instance, some recent hardware comes with "optimus" technology
for scaling GPU functionality depending on load. In Linux there is
no support for "optimus" but a "wrap around" solution called
bumblebee. Bumblebee allows activating and deactivating NVIDIA GPU
by hand by means of a kernel module, a daemon and an application
(optirun) but those depend on hardware architecture (i686 or
x86_64). Thus squeak/pharo and anything depending on SqueakVM and
PharoVM will fail in this environment. But there are lots of other
things that depend on hardware architecture that won't work well if
you have 32bit VM & image. By the way, currently bumblebee does
not support statically linked OpenGL libraries (perhaps because it
uses a VirtualGL server that masks OpenGL inside non OpenGL X-Window
sessions but I have to further investigate that).
Thing is: 32bit architecture is quite dead. There won't be new
computers with this architecture (even ARM is 64bit and A15 has an
interesting address structure allowing 1TByte memory space). Also,
dynamic evolving OSes like Fedora (and even OS X) won't be stuck in
the old 32bit model for long.
Until 15 days ago the hardware platforms available to me were a 4
years old desktop computer and a 3 years old laptop. Both 32bits.
Most of my developments involved interfaces with CUDA stuff
(libraries I developed) and Fann (artificial neural network
libraries). Then I got "upgraded" (both computers) and nothing is
working and I have to choose between trying to fix things and keep
working with squeak/pharo or to port everything to java/python/C++.
Besides, I think it is opportune to move this discussion to VMdev,
pharo and squeak lists.