CommandShell in SqueakLand

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

CommandShell in SqueakLand

Markus Biermaier
Hallo,

bin leider lästig ;-)

Aus meiner Frage:

> Meine Schritte im Detail:
> 1) Ich starte SqueakLand und öffne im Welt-Menü den "(SqueakMap)
> Package Loader".
> 2) Es erscheint die Meldung, dass der SqueakMap Master Server die
> Version 2.2 hat, der Client aber 2.0 und ob ich das SqueakMap package
> upgraden will. Ich antworte "yes".
> 3) Während des Upgrades erscheint die Meldung "...Undefined
> Object>>flush..."
> 4) Der Package Loader wird geladen. Es erscheint ein Browser mit 689
> Paketen.
> 5) Ich selektiere "CommandShell" und erhalte die Warnung, dass dieses
> Pakete keine Releases für meine SqueakVersion enthält, und die Frage,
> ob ich eine Release für irgend eine SqueakVersion versuchen will. Ich
> antworte "yes".
> 6) Ich erhalte die Warnung, dass dieses Paket nicht als kompatibel
> mit meiner image Version (Squeakland 3.8) gelistet ist, und ob ich
> die Installation fortsetzen will. Ich antworte "yes".
> 7) Es erscheint eine Meldung über einen Fehler: ...Undefined
> Object>>flush..."
> 8) Das Paket hat sich installieren lassen. "CommandShell"
> funktioniert aber noch nicht.
> 9) Ich installiere das Paket "OSProcess"
> 10) Es erscheint eine Meldung über einen Fehler: ...Undefined
> Object>>flush..."
> 11) Ich öffne ein WorkSpace Fenster, gebe ein: "CommandShell command:
> 'ls -l' und es funktioniert!
...

Dazu wieder 2 Fragen:
1. Kann mir bitte jemand erklären wieso die Meldungen "...Undefined  
Object>>flush..." kommen?
2. Unter Linux funktioniert "CommandShell" einwandfrei.
    Unter MacOS X funktionieren nur die "wirklichen" "Squeak  
CommandShell Befehle" (z. B. "help", "cd", "pwd").
    Gebe ich andere Befehle ein sieht das so aus:
$ date
cannot access system to run 'date'
$ type date
cannot access system

Aus der Beschreibung von "OSProcess":
"Description:
OSProcess provides access to operating system functions, including  
pipes and child process creation. It is implemented using pluggable  
primitives in shared library (.so file) for Unix or Linux, and a DLL  
for Windows. The Smalltalk code, including the classes which  
implement pluggable primitives for Unix or Win32 operating system  
functions, may be loaded into any Squeak image, but the primitives  
are only useful on Unix and Windows systems. Placeholder classes are  
provided for MacOS, OS/2 and RiscOS, but are not yet implemented."

Ist "MacOS X" aka "Darwin" im Sinne von Squeak kein "Unix"? "MacOS"  
ist doch nicht gleich "MacOS X" oder liege ich da falsch?

Danke für Erklärungen.

Markus



Reply | Threaded
Open this post in threaded view
|

Re: CommandShell in SqueakLand

Jens Lincke
Markus Biermaier schrieb:

> Hallo,
>
> bin leider lästig ;-)
>
> Aus meiner Frage:
> ...
>
> Dazu wieder 2 Fragen:
> 1. Kann mir bitte jemand erklären wieso die Meldungen "...Undefined
> Object>>flush..." kommen?
> 2. Unter Linux funktioniert "CommandShell" einwandfrei.
>    Unter MacOS X funktionieren nur die "wirklichen" "Squeak
> CommandShell Befehle" (z. B. "help", "cd", "pwd").
>    Gebe ich andere Befehle ein sieht das so aus:
> $ date
> cannot access system to run 'date'
> $ type date
> cannot access system
>
> Aus der Beschreibung von "OSProcess":
> "Description:
> OSProcess provides access to operating system functions, including
> pipes and child process creation. It is implemented using pluggable
> primitives in shared library (.so file) for Unix or Linux, and a DLL
> for Windows. The Smalltalk code, including the classes which implement
> pluggable primitives for Unix or Win32 operating system functions, may
> be loaded into any Squeak image, but the primitives are only useful on
> Unix and Windows systems. Placeholder classes are provided for MacOS,
> OS/2 and RiscOS, but are not yet implemented."
>
> Ist "MacOS X" aka "Darwin" im Sinne von Squeak kein "Unix"? "MacOS"
> ist doch nicht gleich "MacOS X" oder liege ich da falsch?
>
die VM braucht das OSProcess Plugin. Es gibt zwei VMs für MacOS X.

 - die von MacOS portierte VM von John Macintosh
 - Ians Unix VM

In Ians VM ist das OSProcess ist das OS Process Plugin zumindest unter
Linux  mit dabei.

mit `Smalltalk listLoadedModules` kann man nachschauen welche Plugins
geladen sind.

nach `OSProcess command: 'echo Hallo'  ` sollte  also das OSProcess
unter Linux vorhanden sein... und unter MacOS X musst du mal schauen :-)

-  Jens -
> Danke für Erklärungen.
>
> Markus
>
>