Hi All,
I noticed that Pharo is still using the wrong license file on the vm. Could you update it for us?
http://www.squeakvm.org/cgi-bin/viewvc.cgi/squeak/branches/Cog/LICENSE?revis ion=2669 http://www.squeakvm.org/cgi-bin/viewvc.cgi/squeak/branches/Cog/LICENSE?revi sion=2669&view=markup &view=markup
Teleplace was bought by 3D ICC.
Thanks!
Ron Teitelbaum
Head Of Engineering
3d Immersive Collaboration Consulting
ron@3dicc.com
Follow Me On Twitter: @RonTeitelbaum https://twitter.com/RonTeitelbaum
www.3dicc.com http://www.3dicc.com/
3d ICC on G+ https://plus.google.com/u/0/b/108936249366287171125/108936249366287171125/p osts
www.google.com/+RonTeitelbaum
On 7 November 2013 17:36, Ron Teitelbaum ron@usmedrec.com wrote:
Hi All,
I noticed that Pharo is still using the wrong license file on the vm. Could you update it for us?
http://www.squeakvm.org/cgi-bin/viewvc.cgi/squeak/branches/Cog/LICENSE?revis...
you mean this file location i guess (if its about pharo)? https://github.com/pharo-project/pharo-vm/blob/master/LICENSE
Teleplace was bought by 3D ICC.
Thanks!
*Ron Teitelbaum*
*Head Of Engineering*
*3d Immersive Collaboration Consulting*
ron@3dicc.com
Follow Me On Twitter: @RonTeitelbaum https://twitter.com/RonTeitelbaum
www.3dicc.com
3d ICC on G+https://plus.google.com/u/0/b/108936249366287171125/108936249366287171125/posts
www.google.com/+RonTeitelbaum
Hi Igor,
Hope you are doing well!
Yes that's the one. The file https://github.com/pharo-project/pharo-vm/blob/master/LICENSE should be updated to match http://www.squeakvm.org/cgi-bin/viewvc.cgi/squeak/branches/Cog/LICENSE?revis ion=2669
all the best,
Ron Teitelbaum
On 7 November 2013 18:02, Ron Teitelbaum ron@usmedrec.com wrote:
Hi Igor,
Hope you are doing well!
I am fine, thanks :)
Yes that's the one. The file https://github.com/pharo-project/pharo-vm/blob/master/LICENSE should be updated to match
http://www.squeakvm.org/cgi-bin/viewvc.cgi/squeak/branches/Cog/LICENSE?revis ion=2669
Thanks for clearance, will do it in a moment.
all the best,
Ron Teitelbaum
done https://github.com/pharo-project/pharo-vm/blob/master/LICENSE
On 7 November 2013 23:50, Igor Stasenko siguctua@gmail.com wrote:
On 7 November 2013 18:02, Ron Teitelbaum ron@usmedrec.com wrote:
Hi Igor,
Hope you are doing well!
I am fine, thanks :)
Yes that's the one. The file https://github.com/pharo-project/pharo-vm/blob/master/LICENSE should be updated to match
http://www.squeakvm.org/cgi-bin/viewvc.cgi/squeak/branches/Cog/LICENSE?revis ion=2669http://www.squeakvm.org/cgi-bin/viewvc.cgi/squeak/branches/Cog/LICENSE?revision=2669
Thanks for clearance, will do it in a moment.
all the best,
Ron Teitelbaum
-- Best regards, Igor Stasenko.
is my assumption that (i) and (e) from the listLoadedModules refer to Internal and External ?
SmalltalkImage current listLoadedModules asSortedCollection: [:a :b | a < b] a SortedCollection( 'B2DPlugin VMMaker.oscog-eem.69 (i)' 'BitBltPlugin VMMaker.oscog-eem.115 (i)' 'CroquetPlugin VMMaker-oscog.40 (i)' <<post VMMaker 'FilePlugin VMMaker.oscog-eem.97 (i)' 'FloatArrayPlugin VMMaker-oscog.40 (i)' 'FloatMathPlugin VMMaker-oscog.40 (i)' <<post VMMaker 'IA32ABI VMMaker.oscog-eem.99 (i)' 'JPEGReadWriter2Plugin VMMaker-oscog.40 (i)' <<post VMMaker 'LargeIntegers v1.5 VMMaker.oscog-eem.72 (i)' 'Matrix2x3Plugin VMMaker-oscog.40 (i)' 'MiscPrimitivePlugin VMMaker-oscog.40 (i)' 'SecurityPlugin VMMaker-oscog.40 (i)' 'SocketPlugin VMMaker-oscog.40 (i)' 'SoundPlugin VMMaker-oscog.54 (i)' 'UUIDPlugin VMMaker-oscog.47 (e)' 'ZipPlugin VMMaker-oscog.40 (i)')
If I do SmalltalkImage current listBuiltinModules asSortedCollection: [:a :b | a < b] all the results have an (i).
On Sat, Nov 09, 2013 at 02:21:51PM -0800, gettimothy wrote:
is my assumption that (i) and (e) from the listLoadedModules refer to Internal and External ?
SmalltalkImage current listLoadedModules asSortedCollection: [:a :b | a < b] a SortedCollection( 'B2DPlugin VMMaker.oscog-eem.69 (i)' 'BitBltPlugin VMMaker.oscog-eem.115 (i)' 'CroquetPlugin VMMaker-oscog.40 (i)' <<post VMMaker 'FilePlugin VMMaker.oscog-eem.97 (i)' 'FloatArrayPlugin VMMaker-oscog.40 (i)' 'FloatMathPlugin VMMaker-oscog.40 (i)' <<post VMMaker 'IA32ABI VMMaker.oscog-eem.99 (i)' 'JPEGReadWriter2Plugin VMMaker-oscog.40 (i)' <<post VMMaker 'LargeIntegers v1.5 VMMaker.oscog-eem.72 (i)' 'Matrix2x3Plugin VMMaker-oscog.40 (i)' 'MiscPrimitivePlugin VMMaker-oscog.40 (i)' 'SecurityPlugin VMMaker-oscog.40 (i)' 'SocketPlugin VMMaker-oscog.40 (i)' 'SoundPlugin VMMaker-oscog.54 (i)' 'UUIDPlugin VMMaker-oscog.47 (e)' 'ZipPlugin VMMaker-oscog.40 (i)')
Yes, that's exactly right. In most cases, a plugin may be compiled either as an internal plugin or an external plugin, and the same source code is used in either case. When compiled as an internal plugin, a plugin is linked directly into the VM executable. When external, it is a separate shared library or dll file that is loaded on demand when something in the image tries to use a primitive in the plugin.
If I do SmalltalkImage current listBuiltinModules asSortedCollection: [:a :b | a < b] all the results have an (i).
Right. These are internal plugins that are available directly in the VM executable. In contrast, the UUIDPlugin (which is an external plugin in this example) shows up in the listLoadedModules because something in the image has created a new UUID instance, and the VM loaded the UUIDPlugin in order to find the necessary primitive for creating it.
Dave
Thank you.
---- On Sat, 09 Nov 2013 15:27:16 -0800 David T. Lewis<lewis@mail.msen.com> wrote ----
On Sat, Nov 09, 2013 at 02:21:51PM -0800, gettimothy wrote: > > is my assumption that (i) and (e) from the listLoadedModules refer to Internal and External ? > > > SmalltalkImage current listLoadedModules asSortedCollection: [:a :b | a &lt; b] > a SortedCollection( > 'B2DPlugin VMMaker.oscog-eem.69 (i)' > 'BitBltPlugin VMMaker.oscog-eem.115 (i)' > 'CroquetPlugin VMMaker-oscog.40 (i)' &lt;&lt;post VMMaker > 'FilePlugin VMMaker.oscog-eem.97 (i)' > 'FloatArrayPlugin VMMaker-oscog.40 (i)' > 'FloatMathPlugin VMMaker-oscog.40 (i)' &lt;&lt;post VMMaker > 'IA32ABI VMMaker.oscog-eem.99 (i)' > 'JPEGReadWriter2Plugin VMMaker-oscog.40 (i)' &lt;&lt;post VMMaker > 'LargeIntegers v1.5 VMMaker.oscog-eem.72 (i)' > 'Matrix2x3Plugin VMMaker-oscog.40 (i)' > 'MiscPrimitivePlugin VMMaker-oscog.40 (i)' > 'SecurityPlugin VMMaker-oscog.40 (i)' > 'SocketPlugin VMMaker-oscog.40 (i)' > 'SoundPlugin VMMaker-oscog.54 (i)' > 'UUIDPlugin VMMaker-oscog.47 (e)' > 'ZipPlugin VMMaker-oscog.40 (i)') >
Yes, that's exactly right. In most cases, a plugin may be compiled either as an internal plugin or an external plugin, and the same source code is used in either case. When compiled as an internal plugin, a plugin is linked directly into the VM executable. When external, it is a separate shared library or dll file that is loaded on demand when something in the image tries to use a primitive in the plugin.
> If I do > SmalltalkImage current listBuiltinModules asSortedCollection: [:a :b | a &lt; b] > all the results have an (i). >
Right. These are internal plugins that are available directly in the VM executable. In contrast, the UUIDPlugin (which is an external plugin in this example) shows up in the listLoadedModules because something in the image has created a new UUID instance, and the VM loaded the UUIDPlugin in order to find the necessary primitive for creating it.
Dave
I am systematically working through Eliot's Cog Blog :: Building a Cog Development Image checklist on both my 64 bit Linux box with 32 bit compat libs and a slow/old pure 32 bit linux box.
I noticed that both Alien and VMMaker added and "activated" new plugins. 'IA32ABI VMMaker.oscog-eem.99 (i)' << post alien 'SoundPlugin VMMaker-oscog.54 (i)' <<post alien 'UUIDPlugin VMMaker-oscog.47 (e)' <<post alien 'CroquetPlugin VMMaker-oscog.40 (i)' <<post VMMaker 'FloatMathPlugin VMMaker-oscog.40 (i)' <<post VMMaker 'JPEGReadWriter2Plugin VMMaker-oscog.40 (i)' <<post VMMaker
While SqueakSSL-Plugin-ar.3 VMConstruction-Plugins-OSProcessPlugin.oscog-eem.44 Freetype-Plugin-IgorStasenko.64 VMConstruction-Plugins-AioPlugin-eem.15 Did not show any new plugins in either SmalltalkImage current listLoadedModules or listBuiltinModules.
When I ran into this on my 64 bit box with the 32 bit compat libs, I thought it might be a library problem, however, now that I have done this on the pure 32 bit system, I dont know.
Looking at SmalltalkImage, I did not see any method to LOAD a module. Is there one?
thx.
t
On Sat, Nov 09, 2013 at 04:03:42PM -0800, gettimothy wrote:
I am systematically working through Eliot's Cog Blog :: Building a Cog Development Image checklist on both my 64 bit Linux box with 32 bit compat libs and a slow/old pure 32 bit linux box.
I noticed that both Alien and VMMaker added and "activated" new plugins. 'IA32ABI VMMaker.oscog-eem.99 (i)' << post alien 'SoundPlugin VMMaker-oscog.54 (i)' <<post alien 'UUIDPlugin VMMaker-oscog.47 (e)' <<post alien 'CroquetPlugin VMMaker-oscog.40 (i)' <<post VMMaker 'FloatMathPlugin VMMaker-oscog.40 (i)' <<post VMMaker 'JPEGReadWriter2Plugin VMMaker-oscog.40 (i)' <<post VMMaker
While SqueakSSL-Plugin-ar.3 VMConstruction-Plugins-OSProcessPlugin.oscog-eem.44 Freetype-Plugin-IgorStasenko.64 VMConstruction-Plugins-AioPlugin-eem.15 Did not show any new plugins in either SmalltalkImage current listLoadedModules or listBuiltinModules.
When I ran into this on my 64 bit box with the 32 bit compat libs, I thought it might be a library problem, however, now that I have done this on the pure 32 bit system, I dont know.
Looking at SmalltalkImage, I did not see any method to LOAD a module. Is there one?
The normal way to load an external plugin is to call one of its primitives and let the loader locate and load the plugin.
In your example, you have the UnixOSProcessPlugin built as an external plugin, but you can see that it has not yet been loaded. One of the primitives in that plugin is #primitiveGetPid, so if you were to write a method to call that primitive, the plugin module would be loaded.
To illustrate, try adding the following method to some class.
MyClass class>>myMethodThatUsesOSPP <primitive: 'primitiveGetPid' module: 'UnixOSProcessPlugin'> self primitiveFailed
Now evaluate "MyClass myMethodThatUsesOSPP". Check listLoadedModules and you should see that the plugin is now loaded.
Dave
Superb, thank you.
This gives me confidence to develop on my linux 32-bit compat boot.
The OSProcess loads just as you say.
AiO and SSL fail, but the SSL is a known problem (which is why I need to learn this low-level stuff, so I can fix things like that.
cordially,
t
---- On Sat, 09 Nov 2013 17:01:20 -0800 David T. Lewis<lewis@mail.msen.com> wrote ----
On Sat, Nov 09, 2013 at 04:03:42PM -0800, gettimothy wrote: > > I am systematically working through Eliot's Cog Blog :: Building a Cog Development Image checklist on both my 64 bit Linux box with 32 bit compat libs and a slow/old pure 32 bit linux box. > > I noticed that both Alien and VMMaker added and "activated" new plugins. > 'IA32ABI VMMaker.oscog-eem.99 (i)' &lt;&lt; post alien > 'SoundPlugin VMMaker-oscog.54 (i)' &lt;&lt;post alien > 'UUIDPlugin VMMaker-oscog.47 (e)' &lt;&lt;post alien > 'CroquetPlugin VMMaker-oscog.40 (i)' &lt;&lt;post VMMaker > 'FloatMathPlugin VMMaker-oscog.40 (i)' &lt;&lt;post VMMaker > 'JPEGReadWriter2Plugin VMMaker-oscog.40 (i)' &lt;&lt;post VMMaker > > While > SqueakSSL-Plugin-ar.3 > VMConstruction-Plugins-OSProcessPlugin.oscog-eem.44 > Freetype-Plugin-IgorStasenko.64 > VMConstruction-Plugins-AioPlugin-eem.15 > Did not show any new plugins in either SmalltalkImage current listLoadedModules or listBuiltinModules. > > When I ran into this on my 64 bit box with the 32 bit compat libs, I thought it might be a library problem, however, now that I have done this on the pure 32 bit system, I dont know. > > Looking at SmalltalkImage, I did not see any method to LOAD a module. Is there one? >
The normal way to load an external plugin is to call one of its primitives and let the loader locate and load the plugin.
In your example, you have the UnixOSProcessPlugin built as an external plugin, but you can see that it has not yet been loaded. One of the primitives in that plugin is #primitiveGetPid, so if you were to write a method to call that primitive, the plugin module would be loaded.
To illustrate, try adding the following method to some class.
MyClass class>>myMethodThatUsesOSPP <primitive: 'primitiveGetPid' module: 'UnixOSProcessPlugin'> self primitiveFailed
Now evaluate "MyClass myMethodThatUsesOSPP". Check listLoadedModules and you should see that the plugin is now loaded.
Dave
I just did a fresh repeat of the steps on a Windows 7 (64 bit) box and I have the same primitive fails that I have on the Linux boot. That's good news for me.
So, in my quest to get competent at this stuff, I can x "Make A VMMaker image" off my list and move on.
Thanks for the help.
Read the latest two articles on my blog (A Spur gear for Cog & Lazy Become). <--I am here
X Make a VMMaker image (see e.g. Cog Blog :: Building a Cog Development Image). <--This is feel better about now as the same things are broken on linux32, win64 and linux64(32 compat)
Then read SpurMemoryManager, /especially/ its class comment. <--Then here
Then read its subclasses Spur32BitMemoryManager (functional) & Spur64BitMemoryManager (completely untested). Then read SpurBootstrap32. Try and create a 32-bit Spur image and run it. Then try and implement SpurBootstrap64. Try and create a 64-bit Spur image and run it.
---- On Sun, 10 Nov 2013 08:40:58 -0800 gettimothy <gettimothy@zoho.com> wrote ----
Superb, thank you.
This gives me confidence to develop on my linux 32-bit compat boot.
The OSProcess loads just as you say.
AiO and SSL fail, but the SSL is a known problem (which is why I need to learn this low-level stuff, so I can fix things like that.
cordially,
t
---- On Sat, 09 Nov 2013 17:01:20 -0800 David T. Lewis<lewis@mail.msen.com> wrote ----
On Sat, Nov 09, 2013 at 04:03:42PM -0800, gettimothy wrote: > > I am systematically working through Eliot's Cog Blog :: Building a Cog Development Image checklist on both my 64 bit Linux box with 32 bit compat libs and a slow/old pure 32 bit linux box. > > I noticed that both Alien and VMMaker added and "activated" new plugins. > 'IA32ABI VMMaker.oscog-eem.99 (i)' &lt;&lt; post alien > 'SoundPlugin VMMaker-oscog.54 (i)' &lt;&lt;post alien > 'UUIDPlugin VMMaker-oscog.47 (e)' &lt;&lt;post alien > 'CroquetPlugin VMMaker-oscog.40 (i)' &lt;&lt;post VMMaker > 'FloatMathPlugin VMMaker-oscog.40 (i)' &lt;&lt;post VMMaker > 'JPEGReadWriter2Plugin VMMaker-oscog.40 (i)' &lt;&lt;post VMMaker > > While > SqueakSSL-Plugin-ar.3 > VMConstruction-Plugins-OSProcessPlugin.oscog-eem.44 > Freetype-Plugin-IgorStasenko.64 > VMConstruction-Plugins-AioPlugin-eem.15 > Did not show any new plugins in either SmalltalkImage current listLoadedModules or listBuiltinModules. > > When I ran into this on my 64 bit box with the 32 bit compat libs, I thought it might be a library problem, however, now that I have done this on the pure 32 bit system, I dont know. > > Looking at SmalltalkImage, I did not see any method to LOAD a module. Is there one? >
The normal way to load an external plugin is to call one of its primitives and let the loader locate and load the plugin.
In your example, you have the UnixOSProcessPlugin built as an external plugin, but you can see that it has not yet been loaded. One of the primitives in that plugin is #primitiveGetPid, so if you were to write a method to call that primitive, the plugin module would be loaded.
To illustrate, try adding the following method to some class.
MyClass class>>myMethodThatUsesOSPP <primitive: 'primitiveGetPid' module: 'UnixOSProcessPlugin'> self primitiveFailed
Now evaluate "MyClass myMethodThatUsesOSPP". Check listLoadedModules and you should see that the plugin is now loaded.
Dave
Welcome, Tim!
-C
-- Craig Latta www.netjam.org/resume +1 510 984 8117 (Skype rings this until 31 January 2014)
vm-dev@lists.squeakfoundation.org