On 09-05-2012 22:15, Schwab,Wilhelm K wrote:
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.

CdAB






(...)