Here is what I did for 64-bit Ubuntu Cog image install steps:
1.
install 64-bit ubuntu
2.
sudo apt-get install subversion
3.
mkdir Cog
4.
cd Cog
5.
svn co _http://www.squeakvm.org/svn/squeak/branches/Cog/image_
6.
svn co _http://www.squeakvm.org/svn/squeak/branches/Cog_ oscogvm
7.
cd image
8.
update shell scripts to have bash rather than sh
9.
run buildspurtrunkvmmakerimage.sh; it fails
10.
sudo apt-get install squeak-vm
11.
run buildspurtrunkvmmakerimage.sh; it fails
The error is below. Thank you for any help,
Robert
cogspurlinuxht/squeak trunk50.image UpdateSqueakTrunkImage.st
/usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries.
cogspurlinuxht/squeak SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st
/usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries.
It would have worked on a 32 bits Ubuntu I guess. It looks like you miss the 32 bits libraries.
I do the same process as yours but here is my step 2:
sudo apt-get install cmake zip bash-completion ruby git xz-utils debhelper devscripts sudo apt-get install libc6-dev:i386 libasound2:i386 libasound2-dev:i386 libasound2-plugins:i386 libssl-dev:i386 libssl0.9.8:i386 libfreetype6-dev:i386 libx11-dev:i386 libsm-dev:i386 libice-dev:i386 sudo apt-get install build-essential gcc-multilib g++ sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx:i386 sudo apt-get install binutils:i386 g++-4.6:i386 gcc-4.6:i386 sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so /usr/lib/i386-linux-gnu/libGL.so sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/mesa/libGL.so sudo apt-get install uuid-dev:i386 sudo apt-get install subversion
Some installations are used for the Cog builds, other for the Pharo builds. I've never remembered which step is for which VM build as I build both. With this script I can build both, though I have always compiled the Cog branch on a 32 bits Ubuntu.
Best,
2015-10-20 8:40 GMT+02:00 Robert Withers robert.w.withers@gmail.com:
Here is what I did for 64-bit Ubuntu Cog image install steps:
install 64-bit ubuntu 2.
sudo apt-get install subversion 3.
mkdir Cog 4.
cd Cog 5.
svn co * http://www.squeakvm.org/svn/squeak/branches/Cog/imagehttp://www.squeakvm.org/svn/squeak/branches/Cog/image http://www.squeakvm.org/svn/squeak/branches/Cog/image* 6.
svn co * http://www.squeakvm.org/svn/squeak/branches/Coghttp://www.squeakvm.org/svn/squeak/branches/Cog http://www.squeakvm.org/svn/squeak/branches/Cog* oscogvm 7.
cd image 8.
update shell scripts to have bash rather than sh 9.
run buildspurtrunkvmmakerimage.sh; it fails 10.
sudo apt-get install squeak-vm 11.
run buildspurtrunkvmmakerimage.sh; it fails
The error is below. Thank you for any help,
Robert
cogspurlinuxht/squeak trunk50.image UpdateSqueakTrunkImage.st
/usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries.
cogspurlinuxht/squeak SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st
/usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries.
I am terribly sorry, Clément, I thought there was a 64-bit vm build that used 32-bit object memory and I was magically trying to build it. Yes, I was under the assumption that some sort of 64-bit VM would be built when I installed on a 64-bit machine. I still think it wise to go to 64-bit on the OS, so I can build and run 64-bit VMs, when it's time.
Thanks for these commands, so helpful to me. In your 4th step I had to add libglapi-mesa:i386 as a dependency. I am adding these to my install notes.
I am now getting these errors. I followed the instructions for changing proirity in the README, but this did not help. I saw this mentioned recently but an email search didn't turn up anything. Any words on this would be appreciated.
Regards, Robert
rabbit@callisto:~/warren/cog/image$ ./buildspurtrunkvmmakerimage.sh cogspurlinuxht/squeak trunk50.image UpdateSqueakTrunkImage.st pthread_setschedparam failed: Operation not permitted Read e.g. http://www.mirandabanda.org/files/Cog/VM/VM.r3427/README.3427 cogspurlinuxht/squeak SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st pthread_setschedparam failed: Operation not permitted Read e.g. http://www.mirandabanda.org/files/Cog/VM/VM.r3427/README.3427
On 10/20/2015 07:43 AM, Clément Bera wrote:
It would have worked on a 32 bits Ubuntu I guess. It looks like you miss the 32 bits libraries.
I do the same process as yours but here is my step 2:
sudo apt-get install cmake zip bash-completion ruby git xz-utils debhelper devscripts sudo apt-get install libc6-dev:i386 libasound2:i386 libasound2-dev:i386 libasound2-plugins:i386 libssl-dev:i386 libssl0.9.8:i386 libfreetype6-dev:i386 libx11-dev:i386 libsm-dev:i386 libice-dev:i386 sudo apt-get install build-essential gcc-multilib g++ sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx:i386 sudo apt-get install binutils:i386 g++-4.6:i386 gcc-4.6:i386 sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so /usr/lib/i386-linux-gnu/libGL.so sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/mesa/libGL.so sudo apt-get install uuid-dev:i386 sudo apt-get install subversion
Some installations are used for the Cog builds, other for the Pharo builds. I've never remembered which step is for which VM build as I build both. With this script I can build both, though I have always compiled the Cog branch on a 32 bits Ubuntu.
Best,
2015-10-20 8:40 GMT+02:00 Robert Withers <robert.w.withers@gmail.com mailto:robert.w.withers@gmail.com>:
Here is what I did for 64-bit Ubuntu Cog image install steps: 1. install 64-bit ubuntu 2. sudo apt-get install subversion 3. mkdir Cog 4. cd Cog 5. svn co _http://www.squeakvm.org/svn/squeak/branches/Cog/image_ 6. svn co _http://www.squeakvm.org/svn/squeak/branches/Cog_ oscogvm 7. cd image 8. update shell scripts to have bash rather than sh 9. run buildspurtrunkvmmakerimage.sh; it fails
sudo apt-get install squeak-vm
run buildspurtrunkvmmakerimage.sh; it fails
The error is below. Thank you for any help, Robert cogspurlinuxht/squeak trunk50.image UpdateSqueakTrunkImage.st /usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries. cogspurlinuxht/squeak SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st /usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries.
2015-10-21 3:20 GMT+02:00 Robert Withers robert.w.withers@gmail.com:
I am terribly sorry, Clément, I thought there was a 64-bit vm build that used 32-bit object memory and I was magically trying to build it. Yes, I was under the assumption that some sort of 64-bit VM would be built when I installed on a 64-bit machine. I still think it wise to go to 64-bit on the OS, so I can build and run 64-bit VMs, when it's time.
Thanks for these commands, so helpful to me. In your 4th step I had to add libglapi-mesa:i386 as a dependency. I am adding these to my install notes.
I am now getting these errors. I followed the instructions for changing proirity in the README, but this did not help. I saw this mentioned recently but an email search didn't turn up anything. Any words on this would be appreciated.
Regards, Robert
rabbit@callisto:~/warren/cog/image$ ./buildspurtrunkvmmakerimage.sh cogspurlinuxht/squeak trunk50.image UpdateSqueakTrunkImage.st pthread_setschedparam failed: Operation not permitted Read e.g. http://www.mirandabanda.org/files/Cog/VM/VM.r3427/README.3427 cogspurlinuxht/squeak SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st pthread_setschedparam failed: Operation not permitted Read e.g. http://www.mirandabanda.org/files/Cog/VM/VM.r3427/README.3427
Hello,
I can think of two bugs related to your error: - you are building the VM with the incorrect heartbeat for your OS (try building in the build.itimerheartbeat folder instead of build folder) - you need to run the VM in sudo mode for the VM profiler
What does the VM say when you try to run it in sudo mode ? Not that it's a long term solution but at least we can try to figure the problem out.
Best
On 10/20/2015 07:43 AM, Clément Bera wrote:
It would have worked on a 32 bits Ubuntu I guess. It looks like you miss the 32 bits libraries.
I do the same process as yours but here is my step 2:
sudo apt-get install cmake zip bash-completion ruby git xz-utils debhelper devscripts sudo apt-get install libc6-dev:i386 libasound2:i386 libasound2-dev:i386 libasound2-plugins:i386 libssl-dev:i386 libssl0.9.8:i386 libfreetype6-dev:i386 libx11-dev:i386 libsm-dev:i386 libice-dev:i386 sudo apt-get install build-essential gcc-multilib g++ sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx:i386 sudo apt-get install binutils:i386 g++-4.6:i386 gcc-4.6:i386 sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so /usr/lib/i386-linux-gnu/libGL.so sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/mesa/libGL.so sudo apt-get install uuid-dev:i386 sudo apt-get install subversion
Some installations are used for the Cog builds, other for the Pharo builds. I've never remembered which step is for which VM build as I build both. With this script I can build both, though I have always compiled the Cog branch on a 32 bits Ubuntu.
Best,
2015-10-20 8:40 GMT+02:00 Robert Withers robert.w.withers@gmail.com:
Here is what I did for 64-bit Ubuntu Cog image install steps:
install 64-bit ubuntu 2.
sudo apt-get install subversion 3.
mkdir Cog 4.
cd Cog 5.
svn co * http://www.squeakvm.org/svn/squeak/branches/Cog/imagehttp://www.squeakvm.org/svn/squeak/branches/Cog/image http://www.squeakvm.org/svn/squeak/branches/Cog/image* 6.
svn co * http://www.squeakvm.org/svn/squeak/branches/Coghttp://www.squeakvm.org/svn/squeak/branches/Cog http://www.squeakvm.org/svn/squeak/branches/Cog* oscogvm 7.
cd image 8.
update shell scripts to have bash rather than sh 9.
run buildspurtrunkvmmakerimage.sh; it fails 10.
sudo apt-get install squeak-vm 11.
run buildspurtrunkvmmakerimage.sh; it fails
The error is below. Thank you for any help,
Robert
cogspurlinuxht/squeak trunk50.image UpdateSqueakTrunkImage.st
/usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries.
cogspurlinuxht/squeak SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st
/usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries.
My apologies for being rash, but the OS stopped booting and other issues, I bailed on 64-bit and have been rebuilding the 32-bit I've reinstalled. I may attempt to install 64-bit into a resized partition, this time, or I may not. I am not sure yet. Sorry to have bailed on fixing a found issue with you.
Regards, Robert
On 10/21/2015 02:14 AM, Clément Bera wrote:
2015-10-21 3:20 GMT+02:00 Robert Withers <robert.w.withers@gmail.com mailto:robert.w.withers@gmail.com>:
I am terribly sorry, Clément, I thought there was a 64-bit vm build that used 32-bit object memory and I was magically trying to build it. Yes, I was under the assumption that some sort of 64-bit VM would be built when I installed on a 64-bit machine. I still think it wise to go to 64-bit on the OS, so I can build and run 64-bit VMs, when it's time. Thanks for these commands, so helpful to me. In your 4th step I had to add libglapi-mesa:i386 as a dependency. I am adding these to my install notes. I am now getting these errors. I followed the instructions for changing proirity in the README, but this did not help. I saw this mentioned recently but an email search didn't turn up anything. Any words on this would be appreciated. Regards, Robert rabbit@callisto:~/warren/cog/image$ ./buildspurtrunkvmmakerimage.sh cogspurlinuxht/squeak trunk50.image UpdateSqueakTrunkImage.st pthread_setschedparam failed: Operation not permitted Read e.g. http://www.mirandabanda.org/files/Cog/VM/VM.r3427/README.3427 cogspurlinuxht/squeak SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st pthread_setschedparam failed: Operation not permitted Read e.g. http://www.mirandabanda.org/files/Cog/VM/VM.r3427/README.3427
Hello,
I can think of two bugs related to your error:
- you are building the VM with the incorrect heartbeat for your OS
(try building in the build.itimerheartbeat folder instead of build folder)
- you need to run the VM in sudo mode for the VM profiler
What does the VM say when you try to run it in sudo mode ? Not that it's a long term solution but at least we can try to figure the problem out.
Best
On 10/20/2015 07:43 AM, Clément Bera wrote:
It would have worked on a 32 bits Ubuntu I guess. It looks like you miss the 32 bits libraries. I do the same process as yours but here is my step 2: sudo apt-get install cmake zip bash-completion ruby git xz-utils debhelper devscripts sudo apt-get install libc6-dev:i386 libasound2:i386 libasound2-dev:i386 libasound2-plugins:i386 libssl-dev:i386 libssl0.9.8:i386 libfreetype6-dev:i386 libx11-dev:i386 libsm-dev:i386 libice-dev:i386 sudo apt-get install build-essential gcc-multilib g++ sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx:i386 sudo apt-get install binutils:i386 g++-4.6:i386 gcc-4.6:i386 sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so /usr/lib/i386-linux-gnu/libGL.so sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/mesa/libGL.so sudo apt-get install uuid-dev:i386 sudo apt-get install subversion Some installations are used for the Cog builds, other for the Pharo builds. I've never remembered which step is for which VM build as I build both. With this script I can build both, though I have always compiled the Cog branch on a 32 bits Ubuntu. Best, 2015-10-20 8:40 GMT+02:00 Robert Withers <robert.w.withers@gmail.com <mailto:robert.w.withers@gmail.com>>: Here is what I did for 64-bit Ubuntu Cog image install steps: 1. install 64-bit ubuntu 2. sudo apt-get install subversion 3. mkdir Cog 4. cd Cog 5. svn co _http://www.squeakvm.org/svn/squeak/branches/Cog/image_ 6. svn co _http://www.squeakvm.org/svn/squeak/branches/Cog_ oscogvm 7. cd image 8. update shell scripts to have bash rather than sh 9. run buildspurtrunkvmmakerimage.sh; it fails 10. sudo apt-get install squeak-vm 11. run buildspurtrunkvmmakerimage.sh; it fails The error is below. Thank you for any help, Robert cogspurlinuxht/squeak trunk50.image UpdateSqueakTrunkImage.st /usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries. cogspurlinuxht/squeak SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st /usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries.
On Wed, Oct 21, 2015 at 9:20 AM, Robert Withers robert.w.withers@gmail.com wrote:
I am terribly sorry, Clément, I thought there was a 64-bit vm build that used 32-bit object memory and I was magically trying to build it.
Eliot's response here may be of interest... http://lists.squeakfoundation.org/pipermail/vm-dev/2014-May/015419.html cheers -ben
Hi Ben, thanks for the link. I've managed to restore my 32-bit OS on my 64-bit machine, then built everything I could, including BochsIA32 plugin and GdbARMPlugin (gdb-7.6). I have not built the BochsX64 plugin.
I think I installed the VM I built is a Cog Spur VM that can simulate a 64-bit machine. Can it run a 64-bit image? Eliot seems to suggest that makes no sense as an objective, unless I've misunderstood.
I did grab the 64-bit Ubuntu iso and dd to my USB. I can boot from there or install with repartitioning with the 32-bit OS.
I am still struggling with this <machine/OS/VM/image> word size conundrum, crossed with the VM maturity level. My confusion seems rooted in all the maturity level variants. gettimothy states:
/Here is my take on thinking about the Squeak Virtual Machines. />//>/There are 3 iterations (plus the funky-stuff Eliot is adding to Cog, which />/I ignore here) />//>/1. Standard Virtual Machine />/2 Stack Interpreter (first iteration of Cog work) />/3. Cog. (plus all stuff Eliot is doing on top of that). />/4. Spur is coming up so we ignore for now. /
Looking into build.linux32x86 it seems there are 4 main squeak versions:
1. squeak.stack.v3 2. squeak.stack.spur 3. squeak.cog.v3 4. squeak.cog.spur
These lists don't quite match, do they. I think #1 from the first list is missing and #2 of the second list is missing. Is this right do you think?
I build #4 and run trunk50 and SpurVMMaker images with it. Is trunk50 a Cog image and SpurVMMaker is a Spur image? The image side I don't quite yet grasp.
I could publish my 32-bit Ubuntu build instructions if that would be helpful. Please let me know.
Thanks,
Robert
On 10/21/2015 10:13 AM, Ben Coman wrote:
On Wed, Oct 21, 2015 at 9:20 AM, Robert Withers robert.w.withers@gmail.com wrote:
I am terribly sorry, Clément, I thought there was a 64-bit vm build that used 32-bit object memory and I was magically trying to build it.
Eliot's response here may be of interest... http://lists.squeakfoundation.org/pipermail/vm-dev/2014-May/015419.html cheers -ben
This may be of some help in clarifying the terminology:
http://www.squeakvm.org/squeak64/faq.html
Dave
Hi Ben, thanks for the link. I've managed to restore my 32-bit OS on my 64-bit machine, then built everything I could, including BochsIA32 plugin and GdbARMPlugin (gdb-7.6). I have not built the BochsX64 plugin.
I think I installed the VM I built is a Cog Spur VM that can simulate a 64-bit machine. Can it run a 64-bit image? Eliot seems to suggest that makes no sense as an objective, unless I've misunderstood.
I did grab the 64-bit Ubuntu iso and dd to my USB. I can boot from there or install with repartitioning with the 32-bit OS.
I am still struggling with this <machine/OS/VM/image> word size conundrum, crossed with the VM maturity level. My confusion seems rooted in all the maturity level variants. gettimothy states:
/Here is my take on thinking about the Squeak Virtual Machines. />//>/There are 3 iterations (plus the funky-stuff Eliot is adding to Cog, which />/I ignore here) />//>/1. Standard Virtual Machine />/2 Stack Interpreter (first iteration of Cog work) />/3. Cog. (plus all stuff Eliot is doing on top of that). />/4. Spur is coming up so we ignore for now. /
Looking into build.linux32x86 it seems there are 4 main squeak versions:
- squeak.stack.v3
- squeak.stack.spur
- squeak.cog.v3
- squeak.cog.spur
These lists don't quite match, do they. I think #1 from the first list is missing and #2 of the second list is missing. Is this right do you think?
I build #4 and run trunk50 and SpurVMMaker images with it. Is trunk50 a Cog image and SpurVMMaker is a Spur image? The image side I don't quite yet grasp.
I could publish my 32-bit Ubuntu build instructions if that would be helpful. Please let me know.
Thanks,
Robert
On 10/21/2015 10:13 AM, Ben Coman wrote:
On Wed, Oct 21, 2015 at 9:20 AM, Robert Withers robert.w.withers@gmail.com wrote:
I am terribly sorry, Clément, I thought there was a 64-bit vm build that used 32-bit object memory and I was magically trying to build it.
Eliot's response here may be of interest... http://lists.squeakfoundation.org/pipermail/vm-dev/2014-May/015419.html cheers -ben
Thank you, David, that cleared things up a lot. Great page!
Robert
On 10/21/2015 01:02 PM, David T. Lewis wrote:
This may be of some help in clarifying the terminology:
http://www.squeakvm.org/squeak64/faq.html
Dave
Hi Ben, thanks for the link. I've managed to restore my 32-bit OS on my 64-bit machine, then built everything I could, including BochsIA32 plugin and GdbARMPlugin (gdb-7.6). I have not built the BochsX64 plugin.
I think I installed the VM I built is a Cog Spur VM that can simulate a 64-bit machine. Can it run a 64-bit image? Eliot seems to suggest that makes no sense as an objective, unless I've misunderstood.
I did grab the 64-bit Ubuntu iso and dd to my USB. I can boot from there or install with repartitioning with the 32-bit OS.
I am still struggling with this <machine/OS/VM/image> word size conundrum, crossed with the VM maturity level. My confusion seems rooted in all the maturity level variants. gettimothy states:
/Here is my take on thinking about the Squeak Virtual Machines. />//>/There are 3 iterations (plus the funky-stuff Eliot is adding to Cog, which />/I ignore here) />//>/1. Standard Virtual Machine />/2 Stack Interpreter (first iteration of Cog work) />/3. Cog. (plus all stuff Eliot is doing on top of that). />/4. Spur is coming up so we ignore for now. /
Looking into build.linux32x86 it seems there are 4 main squeak versions:
- squeak.stack.v3
- squeak.stack.spur
- squeak.cog.v3
- squeak.cog.spur
These lists don't quite match, do they. I think #1 from the first list is missing and #2 of the second list is missing. Is this right do you think?
I build #4 and run trunk50 and SpurVMMaker images with it. Is trunk50 a Cog image and SpurVMMaker is a Spur image? The image side I don't quite yet grasp.
I could publish my 32-bit Ubuntu build instructions if that would be helpful. Please let me know.
Thanks,
Robert
On 10/21/2015 10:13 AM, Ben Coman wrote:
On Wed, Oct 21, 2015 at 9:20 AM, Robert Withers robert.w.withers@gmail.com wrote:
I am terribly sorry, Clément, I thought there was a 64-bit vm build that used 32-bit object memory and I was magically trying to build it.
Eliot's response here may be of interest... http://lists.squeakfoundation.org/pipermail/vm-dev/2014-May/015419.html cheers -ben
Hi David,
This page mentions that a 32-bit platform arch VM can be built that runs 64-bit images. How could I build one of these 32-bit platform, 64-bit image VMs? I would like to build one very much.
Thank you, Robert
On 10/21/2015 01:02 PM, David T. Lewis wrote:
This may be of some help in clarifying the terminology:
http://www.squeakvm.org/squeak64/faq.html
Dave
Hi Ben, thanks for the link. I've managed to restore my 32-bit OS on my 64-bit machine, then built everything I could, including BochsIA32 plugin and GdbARMPlugin (gdb-7.6). I have not built the BochsX64 plugin.
I think I installed the VM I built is a Cog Spur VM that can simulate a 64-bit machine. Can it run a 64-bit image? Eliot seems to suggest that makes no sense as an objective, unless I've misunderstood.
I did grab the 64-bit Ubuntu iso and dd to my USB. I can boot from there or install with repartitioning with the 32-bit OS.
I am still struggling with this <machine/OS/VM/image> word size conundrum, crossed with the VM maturity level. My confusion seems rooted in all the maturity level variants. gettimothy states:
/Here is my take on thinking about the Squeak Virtual Machines. />//>/There are 3 iterations (plus the funky-stuff Eliot is adding to Cog, which />/I ignore here) />//>/1. Standard Virtual Machine />/2 Stack Interpreter (first iteration of Cog work) />/3. Cog. (plus all stuff Eliot is doing on top of that). />/4. Spur is coming up so we ignore for now. /
Looking into build.linux32x86 it seems there are 4 main squeak versions:
- squeak.stack.v3
- squeak.stack.spur
- squeak.cog.v3
- squeak.cog.spur
These lists don't quite match, do they. I think #1 from the first list is missing and #2 of the second list is missing. Is this right do you think?
I build #4 and run trunk50 and SpurVMMaker images with it. Is trunk50 a Cog image and SpurVMMaker is a Spur image? The image side I don't quite yet grasp.
I could publish my 32-bit Ubuntu build instructions if that would be helpful. Please let me know.
Thanks,
Robert
On 10/21/2015 10:13 AM, Ben Coman wrote:
On Wed, Oct 21, 2015 at 9:20 AM, Robert Withers robert.w.withers@gmail.com wrote:
I am terribly sorry, Clément, I thought there was a 64-bit vm build that used 32-bit object memory and I was magically trying to build it.
Eliot's response here may be of interest... http://lists.squeakfoundation.org/pipermail/vm-dev/2014-May/015419.html cheers -ben
On Wed, Oct 21, 2015 at 07:33:51PM -0400, Robert Withers wrote:
Hi David,
This page mentions that a 32-bit platform arch VM can be built that runs 64-bit images. How could I build one of these 32-bit platform, 64-bit image VMs? I would like to build one very much.
Thank you, Robert
To be clear, this refers to the traditional interpreter VM, which can be used for Squeak images through Squeak 4.6, but cannot be used for the new Spur image format that we are using for Squeak 5.0 and for new development in Squeak trunk.
That said, the instructions for building a VM are here:
http://lists.squeakfoundation.org/pipermail/vm-dev/2015-April/018259.html
This will give you at matched set of VMs that can run 32 or 64 bit images on your 32 bit host platform.
A reasonably recent Squeak image traced to a 64-bit object format is here:
http://build.squeak.org/job/Squeak%2064-bit%20image/lastSuccessfulBuild/arti...
I confess that I have not actually tried this on a 32-bit platform in the last several years, but hopefully it still works. Let me know if it does not.
HTH, Dave
On 10/21/2015 01:02 PM, David T. Lewis wrote:
This may be of some help in clarifying the terminology:
http://www.squeakvm.org/squeak64/faq.html
Dave
Hi Ben, thanks for the link. I've managed to restore my 32-bit OS on my 64-bit machine, then built everything I could, including BochsIA32 plugin and GdbARMPlugin (gdb-7.6). I have not built the BochsX64 plugin.
I think I installed the VM I built is a Cog Spur VM that can simulate a 64-bit machine. Can it run a 64-bit image? Eliot seems to suggest that makes no sense as an objective, unless I've misunderstood.
I did grab the 64-bit Ubuntu iso and dd to my USB. I can boot from there or install with repartitioning with the 32-bit OS.
I am still struggling with this <machine/OS/VM/image> word size conundrum, crossed with the VM maturity level. My confusion seems rooted in all the maturity level variants. gettimothy states:
/Here is my take on thinking about the Squeak Virtual Machines. />//>/There are 3 iterations (plus the funky-stuff Eliot is adding to Cog, which />/I ignore here) />//>/1. Standard Virtual Machine />/2 Stack Interpreter (first iteration of Cog work) />/3. Cog. (plus all stuff Eliot is doing on top of that). />/4. Spur is coming up so we ignore for now. /
Looking into build.linux32x86 it seems there are 4 main squeak versions:
- squeak.stack.v3
- squeak.stack.spur
- squeak.cog.v3
- squeak.cog.spur
These lists don't quite match, do they. I think #1 from the first list is missing and #2 of the second list is missing. Is this right do you think?
I build #4 and run trunk50 and SpurVMMaker images with it. Is trunk50 a Cog image and SpurVMMaker is a Spur image? The image side I don't quite yet grasp.
I could publish my 32-bit Ubuntu build instructions if that would be helpful. Please let me know.
Thanks,
Robert
On 10/21/2015 10:13 AM, Ben Coman wrote:
On Wed, Oct 21, 2015 at 9:20 AM, Robert Withers robert.w.withers@gmail.com wrote:
I am terribly sorry, Cl??ment, I thought there was a 64-bit vm build that used 32-bit object memory and I was magically trying to build it.
Eliot's response here may be of interest... http://lists.squeakfoundation.org/pipermail/vm-dev/2014-May/015419.html cheers -ben
On 10/21/2015 10:45 PM, David T. Lewis wrote:
To be clear, this refers to the traditional interpreter VM, which can be used for Squeak images through Squeak 4.6, but cannot be used for the new Spur image format that we are using for Squeak 5.0 and for new development in Squeak trunk.
That said, the instructions for building a VM are here:
http://lists.squeakfoundation.org/pipermail/vm-dev/2015-April/018259.html
This will give you at matched set of VMs that can run 32 or 64 bit images on your 32 bit host platform.
A reasonably recent Squeak image traced to a 64-bit object format is here:
http://build.squeak.org/job/Squeak%2064-bit%20image/lastSuccessfulBuild/arti...
I confess that I have not actually tried this on a 32-bit platform in the last several years, but hopefully it still works. Let me know if it does not.
Thanks for the information, Dave. Do I understand that this image is a 64-bit, Squeak 4.6 image?
I was thinking spurstack64src was a way to build a 32-bit binary, 64-bit host VM. I generated from the SpurVMMaker image and built another target under build.linux32x86. It blew up compiling gcc3x-interp.c:
/home/rabbit/warren/oscogvm/spurstack64src/vm/gcc3x-interp.c:9661:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1281 }
So from what you've said here, I'm not doing the right thing trying to compile this am I?
... ^^ Robert
On Wed, Oct 21, 2015 at 10:55:24PM -0400, Robert Withers wrote:
On 10/21/2015 10:45 PM, David T. Lewis wrote:
To be clear, this refers to the traditional interpreter VM, which can be used for Squeak images through Squeak 4.6, but cannot be used for the new Spur image format that we are using for Squeak 5.0 and for new development in Squeak trunk.
That said, the instructions for building a VM are here:
http://lists.squeakfoundation.org/pipermail/vm-dev/2015-April/018259.html
This will give you at matched set of VMs that can run 32 or 64 bit images on your 32 bit host platform.
A reasonably recent Squeak image traced to a 64-bit object format is here:
http://build.squeak.org/job/Squeak%2064-bit%20image/lastSuccessfulBuild/arti...
I confess that I have not actually tried this on a 32-bit platform in the last several years, but hopefully it still works. Let me know if it does not.
Thanks for the information, Dave. Do I understand that this image is a 64-bit, Squeak 4.6 image?
Basically yes. It is a 4.5 image updated to #15102, which is similar to the 4.6 release image. See attached SystemReporter for the details. You can also trace your own 4.6 image to 64 bits if you want an exact copy.
I was thinking spurstack64src was a way to build a 32-bit binary, 64-bit host VM. I generated from the SpurVMMaker image and built another target under build.linux32x86. It blew up compiling gcc3x-interp.c:
/home/rabbit/warren/oscogvm/spurstack64src/vm/gcc3x-interp.c:9661:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1281 }
So from what you've said here, I'm not doing the right thing trying to compile this am I?
If you want a high performance 64 bit image and VM, then you need the upcoming version of Spur for 64 bit image/host. It is not ready yet, but will be soon, and it will provide significant improvements over any of the previous 32-bit or 64-bit image formats.
If you just want to try running a 64 bit image on a 32 bit platform, follow my suggestions above.
Dave
Hi David,
On 10/22/2015 09:51 PM, David T. Lewis wrote:
On Wed, Oct 21, 2015 at 10:55:24PM -0400, Robert Withers wrote:
On 10/21/2015 10:45 PM, David T. Lewis wrote:
To be clear, this refers to the traditional interpreter VM, which can be used for Squeak images through Squeak 4.6, but cannot be used for the new Spur image format that we are using for Squeak 5.0 and for new development in Squeak trunk.
That said, the instructions for building a VM are here:
http://lists.squeakfoundation.org/pipermail/vm-dev/2015-April/018259.html
This will give you at matched set of VMs that can run 32 or 64 bit images on your 32 bit host platform.
A reasonably recent Squeak image traced to a 64-bit object format is here:
http://build.squeak.org/job/Squeak%2064-bit%20image/lastSuccessfulBuild/arti...
I confess that I have not actually tried this on a 32-bit platform in the last several years, but hopefully it still works. Let me know if it does not.
Thanks for the information, Dave. Do I understand that this image is a 64-bit, Squeak 4.6 image?
Basically yes. It is a 4.5 image updated to #15102, which is similar to the 4.6 release image. See attached SystemReporter for the details. You can also trace your own 4.6 image to 64 bits if you want an exact copy.
I tried to build these vms and the 32-bit vm blew up on me with this:
Here's my attempt to build and run the 4.6 32-bit interpreter on a 64-bit image, which I had build as above.
rabbit@rabbithole:~/warren/interpreter-4.6/build$ build/squeakvm TrunkImage-64.image could not find display driver vm-display-X11; either: - check that /usr/local/lib/squeak/4.14.2-3479/vm-display-X11.so exists, or - use the '-plugins <path>' option to tell me where it is, or - remove DISPLAY from your environment. Aborted (core dumped)
I cleared DISPLAY and ran again:
rabbit@rabbithole:~/warren/interpreter-4.6/build$ build/squeakvm TrunkImage-64.image squeak: could not find any display driver Aborted (core dumped)
Not sure what's happening.
I was thinking spurstack64src was a way to build a 32-bit binary, 64-bit host VM. I generated from the SpurVMMaker image and built another target under build.linux32x86. It blew up compiling gcc3x-interp.c:
/home/rabbit/warren/oscogvm/spurstack64src/vm/gcc3x-interp.c:9661:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1281 }
So from what you've said here, I'm not doing the right thing trying to compile this am I?
If you want a high performance 64 bit image and VM, then you need the upcoming version of Spur for 64 bit image/host. It is not ready yet, but will be soon, and it will provide significant improvements over any of the previous 32-bit or 64-bit image formats.
I would like to build and run a 64-bit Spur image on a 32-bit non-Cog VM. Is building spurstack64src the way to go forward with that?
If you just want to try running a 64 bit image on a 32 bit platform, follow my suggestions above.
Yes, I am starting to get it clear. These instructions are for the 4.6 vm/image context interpreter vm. Please see above.
--- robert
Dave
On Sat, Oct 24, 2015 at 04:05:08PM -0400, Robert Withers wrote:
Hi David,
On 10/22/2015 09:51 PM, David T. Lewis wrote:
On Wed, Oct 21, 2015 at 10:55:24PM -0400, Robert Withers wrote:
On 10/21/2015 10:45 PM, David T. Lewis wrote:
To be clear, this refers to the traditional interpreter VM, which can be used for Squeak images through Squeak 4.6, but cannot be used for the new Spur image format that we are using for Squeak 5.0 and for new development in Squeak trunk.
That said, the instructions for building a VM are here:
http://lists.squeakfoundation.org/pipermail/vm-dev/2015-April/018259.html
This will give you at matched set of VMs that can run 32 or 64 bit images on your 32 bit host platform.
A reasonably recent Squeak image traced to a 64-bit object format is here:
http://build.squeak.org/job/Squeak%2064-bit%20image/lastSuccessfulBuild/arti...
I confess that I have not actually tried this on a 32-bit platform in the last several years, but hopefully it still works. Let me know if it does not.
Thanks for the information, Dave. Do I understand that this image is a 64-bit, Squeak 4.6 image?
Basically yes. It is a 4.5 image updated to #15102, which is similar to the 4.6 release image. See attached SystemReporter for the details. You can also trace your own 4.6 image to 64 bits if you want an exact copy.
I tried to build these vms and the 32-bit vm blew up on me with this:
Here's my attempt to build and run the 4.6 32-bit interpreter on a 64-bit image, which I had build as above.
rabbit@rabbithole:~/warren/interpreter-4.6/build$ build/squeakvm TrunkImage-64.image could not find display driver vm-display-X11; either:
- check that /usr/local/lib/squeak/4.14.2-3479/vm-display-X11.so
exists, or
- use the '-plugins <path>' option to tell me where it is, or
- remove DISPLAY from your environment.
Aborted (core dumped)
I cleared DISPLAY and ran again:
rabbit@rabbithole:~/warren/interpreter-4.6/build$ build/squeakvm TrunkImage-64.image squeak: could not find any display driver Aborted (core dumped)
Not sure what's happening.
It looks like you are trying to run something out of your build directory? That will not work. The VM needs to be able to find its plugins and VM modules in known directory paths, and if you accidentally mix up the executable modules from various VMs, you will get core dumps and "module not found" problems.
Try "sudo make install" to get a proper installation, then "squeak myimage". The /usr/local/bin/squeak script will look at your image, figure out what executables to use, and run them from the appropriate /usr/local/lib/squeak/<someversion>/ directory.
Note that both Cog and Spur VMs may attempt install on top of the same /usr/local/bin/squeak and/or /usr/bin/squeak path. On my systems, I resolve the conflicts by renaming the cog and spur VMs to /usr/local/bin/cog and /usr/local/bin/spur respectively. So if you have spur installed now as /usr/local/bin/squeak, you may want to rename it to /usr/local/bin/spur before you do your "sudo make install".
Dave
On 10/24/2015 06:59 PM, David T. Lewis wrote:
On Sat, Oct 24, 2015 at 04:05:08PM -0400, Robert Withers wrote:
Hi David,
On 10/22/2015 09:51 PM, David T. Lewis wrote:
On Wed, Oct 21, 2015 at 10:55:24PM -0400, Robert Withers wrote:
On 10/21/2015 10:45 PM, David T. Lewis wrote:
To be clear, this refers to the traditional interpreter VM, which can be used for Squeak images through Squeak 4.6, but cannot be used for the new Spur image format that we are using for Squeak 5.0 and for new development in Squeak trunk.
That said, the instructions for building a VM are here:
http://lists.squeakfoundation.org/pipermail/vm-dev/2015-April/018259.html
This will give you at matched set of VMs that can run 32 or 64 bit images on your 32 bit host platform.
A reasonably recent Squeak image traced to a 64-bit object format is here:
http://build.squeak.org/job/Squeak%2064-bit%20image/lastSuccessfulBuild/arti...
I confess that I have not actually tried this on a 32-bit platform in the last several years, but hopefully it still works. Let me know if it does not.
Thanks for the information, Dave. Do I understand that this image is a 64-bit, Squeak 4.6 image?
Basically yes. It is a 4.5 image updated to #15102, which is similar to the 4.6 release image. See attached SystemReporter for the details. You can also trace your own 4.6 image to 64 bits if you want an exact copy.
I tried to build these vms and the 32-bit vm blew up on me with this:
Here's my attempt to build and run the 4.6 32-bit interpreter on a 64-bit image, which I had build as above.
rabbit@rabbithole:~/warren/interpreter-4.6/build$ build/squeakvm TrunkImage-64.image could not find display driver vm-display-X11; either:
- check that /usr/local/lib/squeak/4.14.2-3479/vm-display-X11.so
exists, or
- use the '-plugins <path>' option to tell me where it is, or
- remove DISPLAY from your environment.
Aborted (core dumped)
I cleared DISPLAY and ran again:
rabbit@rabbithole:~/warren/interpreter-4.6/build$ build/squeakvm TrunkImage-64.image squeak: could not find any display driver Aborted (core dumped)
Not sure what's happening.
It looks like you are trying to run something out of your build directory? That will not work. The VM needs to be able to find its plugins and VM modules in known directory paths, and if you accidentally mix up the executable modules from various VMs, you will get core dumps and "module not found" problems.
Try "sudo make install" to get a proper installation, then "squeak myimage". The /usr/local/bin/squeak script will look at your image, figure out what executables to use, and run them from the appropriate /usr/local/lib/squeak/<someversion>/ directory.
Alright, I've tried this. I saw the -vm-display-X11 option, as well. Here is what I am getting now:
rabbit@rabbithole:~/warren/interpreter-4.6/build$ squeak -vm-display-X11 TrunkImage-64.image Could not open display `(null)'.
Ok, I set $DISPLAY to ':0' and it launches the squeak vm on the 64-bit image, but the fonts are blocked out. I am attaching a screenshot.
Note that both Cog and Spur VMs may attempt install on top of the same /usr/local/bin/squeak and/or /usr/bin/squeak path. On my systems, I resolve the conflicts by renaming the cog and spur VMs to /usr/local/bin/cog and /usr/local/bin/spur respectively. So if you have spur installed now as /usr/local/bin/squeak, you may want to rename it to /usr/local/bin/spur before you do your "sudo make install".
That's a great idea because I am losing track of which is which.
--- Robert
Dave
On Sat, Oct 24, 2015 at 07:25:33PM -0400, Robert Withers wrote:
On 10/24/2015 06:59 PM, David T. Lewis wrote:
On Sat, Oct 24, 2015 at 04:05:08PM -0400, Robert Withers wrote:
On 10/22/2015 09:51 PM, David T. Lewis wrote:
On Wed, Oct 21, 2015 at 10:55:24PM -0400, Robert Withers wrote:
On 10/21/2015 10:45 PM, David T. Lewis wrote:
To be clear, this refers to the traditional interpreter VM, which can be used for Squeak images through Squeak 4.6, but cannot be used for the new Spur image format that we are using for Squeak 5.0 and for new development in Squeak trunk.
That said, the instructions for building a VM are here:
http://lists.squeakfoundation.org/pipermail/vm-dev/2015-April/018259.html
This will give you at matched set of VMs that can run 32 or 64 bit images on your 32 bit host platform.
A reasonably recent Squeak image traced to a 64-bit object format is here:
http://build.squeak.org/job/Squeak%2064-bit%20image/lastSuccessfulBuild/arti...
I confess that I have not actually tried this on a 32-bit platform in the last several years, but hopefully it still works. Let me know if it does not.
Thanks for the information, Dave. Do I understand that this image is a 64-bit, Squeak 4.6 image?
Basically yes. It is a 4.5 image updated to #15102, which is similar to the 4.6 release image. See attached SystemReporter for the details. You can also trace your own 4.6 image to 64 bits if you want an exact copy.
I tried to build these vms and the 32-bit vm blew up on me with this:
Here's my attempt to build and run the 4.6 32-bit interpreter on a 64-bit image, which I had build as above.
rabbit@rabbithole:~/warren/interpreter-4.6/build$ build/squeakvm TrunkImage-64.image could not find display driver vm-display-X11; either:
- check that /usr/local/lib/squeak/4.14.2-3479/vm-display-X11.so
exists, or
- use the '-plugins <path>' option to tell me where it is, or
- remove DISPLAY from your environment.
Aborted (core dumped)
I cleared DISPLAY and ran again:
rabbit@rabbithole:~/warren/interpreter-4.6/build$ build/squeakvm TrunkImage-64.image squeak: could not find any display driver Aborted (core dumped)
Not sure what's happening.
It looks like you are trying to run something out of your build directory? That will not work. The VM needs to be able to find its plugins and VM modules in known directory paths, and if you accidentally mix up the executable modules from various VMs, you will get core dumps and "module not found" problems.
Try "sudo make install" to get a proper installation, then "squeak myimage". The /usr/local/bin/squeak script will look at your image, figure out what executables to use, and run them from the appropriate /usr/local/lib/squeak/<someversion>/ directory.
Alright, I've tried this. I saw the -vm-display-X11 option, as well. Here is what I am getting now:
rabbit@rabbithole:~/warren/interpreter-4.6/build$ squeak -vm-display-X11 TrunkImage-64.image Could not open display `(null)'.
Ok, I set $DISPLAY to ':0' and it launches the squeak vm on the 64-bit image, but the fonts are blocked out. I am attaching a screenshot.
Well that's interesting. As I said, I had not really tried running the 64-bit image on a 32-bit host any time recently. But apparently there are bugs in the VM and/or plugins that are exposed by more recent versions of the image when running on 64-bit image/32-bit host.
The last time that I actually checked this out on a 32-bit host platform, the 64-bit image that I put on the squeakvm.org/squeak64/ page (http://squeakvm.org/squeak64/sq64-dtl.zip) worked fine when run on a 32-bit host platform. And indeed, it still does. You can run this on your newly compiled VM and it will work.
I just did a VM recompile in 32-bit mode, and I see that an up to date Squeak trunk image traced to the V3 64-bit format (not spur) is showing display problems as you have found. It does of course work when the same VM is compiled in 64-bit mode (64-bit host VM), which presumably would be the configuration of more general interest.
I'm not planning to try to chase this bug down, but I would certainly appreciate knowing if you find anything more to identify the root cause.
Thanks, Dave
Note that both Cog and Spur VMs may attempt install on top of the same /usr/local/bin/squeak and/or /usr/bin/squeak path. On my systems, I resolve the conflicts by renaming the cog and spur VMs to /usr/local/bin/cog and /usr/local/bin/spur respectively. So if you have spur installed now as /usr/local/bin/squeak, you may want to rename it to /usr/local/bin/spur before you do your "sudo make install".
That's a great idea because I am losing track of which is which.
--- Robert
Dave
vm-dev@lists.squeakfoundation.org