By default the example Makefile from ./platforms/unix/cmake/Makefile.example
seems to be building for the build64 also a -m32 binary on Solaris
bash-4.4$ file ./lib/squeak/4.16.7-3775_64bit/squeakvm64 ./lib/squeak/4.16.7-3775_64bit/squeakvm64: ELF 32-bit LSB executable 80386 Version 1 [SSE2 SSE], dynamically linked, not stripped
If I change the Makefile.example to use -m64 (to generate 64bit) it works:
bash-4.4$ file ./lib/squeak/4.16.7-3775_64bit/squeakvm64 ./lib/squeak/4.16.7-3775_64bit/squeakvm64: ELF 64-bit LSB executable AMD64 Version 1 [SSE2 SSE], dynamically linked, not stripped
there was one patch required for
Index: platforms/unix/vm-sound-Sun/sqUnixSoundSun.c =================================================================== --- platforms/unix/vm-sound-Sun/sqUnixSoundSun.c (revision 3775) +++ platforms/unix/vm-sound-Sun/sqUnixSoundSun.c (working copy) @@ -72,7 +72,7 @@ #endif
static sqInt sound_Stop(void); -static int sound_AvailableSpace(void); *+static sqInt sound_AvailableSpace(void);*
static int auFd= -1; /* open on /dev/audio */ static int auCtlFd= -1; /* open on /dev/audioctl */
the type "int" should be changed to "sqInt" for the 64 bit compile
now I'm not sure how to test that it opens a 64bit Squeak image ...
-- Sent from: http://forum.world.st/Squeak-VM-f104410.html