[Vm-dev] Extended Clipboard

David T. Lewis lewis at mail.msen.com
Mon Apr 3 22:33:36 UTC 2023


Hi Hilaire,

Sorry that I did not reply earlier. I'm glad that you have the VM
compiled and ready for GCC work. You are doing the right thing by
using the opensmalltalk-vm sources on github.

You now have the latest version of sqUnixExtendedClipboard.c from
github, and this file contains the original source code (from back
in the OLPC project), plus the stub methods that Eliot has added
for new clipboard functions not yet implemented.

The original file from OLPC that Juan identified is now committed
in the opensmalltalk-vm repository at:

https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2736b5e94d8965888ad4453d1f1d22a6fa704e36

This is identical to the original source file from OLPC, so you can
see the differences directly in github now. There is no need to go
back to the squeakvm.org SVN source base, they are the same.

This plugin has an interesting design. The unix VM can support
more than one display system (or sound system). On Linux, the X11
VM display module is used (vm-display-X11) because Linux uses X11,
but other vm modules are defined, for example vm-display-Quartz.
Clipboard functionality is logically associated with the VM display
module, and this means that sqUnixExtendedClipboard.c will call
implementation methods in the vm-display-[X11|Quartz|fbdev] modules.
You will be mainly concerned with X11, so the implementation methods
should go in unix/vm-display-X11/sqUnixX11.c.

I may have caused confusion in may earlier email, so just for background
let me add that my explanation of the interpreter VM and sources on
the squeakvm.org SVN repository refers to the original "classic" or
"interpreter" VM, which continues to be hosted on the squeakvm.org
site. This is the VM that someone would use if they want to run the
early OLPC image on a native Linux VM (it cannot run on Cog). That
VM is in "LTS" mode, which means it receives occasional maintenance
updates but is otherwise not actively supported. The repository
information and wiki information are correct, but you do not need
to be concerned with it for the work that you are doing now on the
opensmalltalk-vm VM.

Dave



On Sat, Apr 01, 2023 at 04:47:13PM +0200, Hilaire Fernandes wrote:
>  
> Hi Dave,
> 
> I put my hand on the VM, just enough to be able to compile it and run a 
> GDB session with a breakpoint in the plugin. I followed the instructions 
> on VM github repo VM to compile a COG version wtih debug symbols for 
> Linux. I did not met the problem with flag you mentioned, I am still on 
> Ubuntu 20.04, may my gcc version is older.
> 
> The Squeak wiki page about VM source seems wrong, it writes github repo 
> is for archiving and development goes on squeakvm. From my perception it 
> is the contrary.
> 
> I will try to put together the peaces from the latest Etoys OLPC VM Juan 
> pointed.
> 
> Thanks
> 
> Hilaire
> 
> 
> Le 01/04/2023 ?? 01:32, David T. Lewis a ??crit??:
> >Thanks Vanessa,
> >
> >I am not keeping up very well with the current clipboard development,
> >but I am try to help by putting together the historical pieces.
> >
> >The OLPC image should be a good reference. It's on Linux and it
> >delivers Etoys and all of the clipboard functionality that worked
> >at that time.
> >
> >Can you say if the Etoys development image Etoys-Dev-4.1.2381.zip
> >is the same as what was delivered on OLPC? If so it should serve
> >as a useful reference.
> >
> >If anyone would like to try looking at Etoys-Dev-4.1.2381.zip, here
> >are a few notes:
> >
> >- The image will run in SqueakJS onhttps://try.squeak.org/. It's
> >a bit slow but it works and allows anyone to browse the system and
> >look at the source.
> >
> >- The image also runs on an up to date interpreter VM, which is
> >useful if you want to run Etoys on a native Linux VM and try the
> >clipboard functions on Linux.
> >
> >- I found that I now need to compile the VM with the gcc 
> >-fno-stack-protector
> >option, otherwise the VM exits with a stack smashing warning. I am
> >assuming this is due to recent gcc security updates (exit on stack
> >smashing detected) that are triggered by the existing VM/image when
> >running the Etoys image. Home hobby Squeakers compiling the VM will
> >need to follow the instructions athttps://wiki.squeak.org/squeak/6354
> >but also add the -fno-stack-protector compiler option in order to run
> >the Etoys development image on Linux.
> >
> >BTW I do not recall the link for downloading Etoys-Dev-4.1.2381.zip
> >but hopefully it is still available on the net. If not maybe we can
> >put a copy on the files.squeak.org server.
> 
> -- 
> GNU Dr. Geo
> http://drgeo.eu
> http://blog.drgeo.eu



More information about the Vm-dev mailing list