[squeak-dev] Interaction with Sugar on Ubuntu.

Gustavo Duarte gduarte at activitycentral.com
Fri Dec 6 13:53:08 UTC 2013


Hi Frank,

Sound reasonable your comment, but in my case i don't have startup file, i
guess, please see the parameters passed to squeakvm, no startup file is
passed, right ? Or there is something I'm don't understanding

Thanks.

Gustavo.


On Fri, Dec 6, 2013 at 11:26 AM, Frank Shearar <frank.shearar at gmail.com>wrote:

> On 6 December 2013 12:34, Gustavo Duarte <gduarte at activitycentral.com>
> wrote:
> > Dave,
> >
> > I believe that squeakvm is compiled with Sugar support, because I can run
> > Scratch and save projects on Journal, just in case, there is another way
> to
> > know if squeakvm is compiled with Sugar support ?
> >
> >
> > I paste bellow another test I had done:
> >
> > As Scratch is working well with the interaction with Sugar, I copied the
> > same parameters of Scratch starting script, and executed this from a
> > terminal as:
> >
> > sudo /usr/lib/squeak/4.4.7-2357/squeakvm -vm-display-X11 -swapbtn
> -encoding
> > UTF-8 -vm-sound-ALSA -sugarBundleId org.vpri.EtoysActivity
> -sugarActivityId
> > 24c67ec800d1d71723f959b56a213accf140e7bc /usr/share/etoys/etoys.image
> > SQUEAKLETS
> /home/gustavo-cm1/.sugar/default/org.vpri.EtoysActivity/instance/
> > BUNDLE_ID org.vpri.EtoysActivity ACTIVITY_ID
> > 24c67ec800d1d71723f959b56a213accf140e7bc
> >
> >
> >
> >
> > The output debug log is:
> >
> >
> > =========== SqueakDebug.log START ==========
> > Error: No content to install
> > 6 December 2013 10:05:27 am
> >
> > VM: unix - a SmalltalkImage
> > Image: etoys5.0 [latest update: #2408]
> >
> > SecurityManager state:
> > Restricted: false
> > FileAccess: true
> > SocketAccess: true
> > Working Dir /usr/share/etoys/My Squeak
> > Trusted Dir /usr/share/etoys/secure
> > Untrusted Dir /usr/share/etoys/My Squeak
> >
> > CodeLoader(Object)>>error:
> > Receiver: a CodeLoader
> > Arguments and temporary variables:
> > aString:  'No content to install'
> > Receiver's instance variables:
> > baseURL:  ''
> > sourceFiles:  #(a HTTPDownloadRequest)
> > segments:  nil
> > publicKey:  nil
>
> I don't know if it's hugely useful info, but 'No content to install'
> means the startup file couldn't be found. This often happens to me
> because the startup file location is relative to the directory
> containing the image, not the location where you run the command.
>
> So if you're in /home/frank/squeak-ci/ and you say "$
> target/cog.r2766/coglinux/bin/squeak target/TrunkImage.image
> HudsonTools.st", "HudsonTools.st" is translated into
> "/home/frank/squeak-ci/target/HudsonTools.st", not
> "/home/frank/squeak-ci/HudsonTools.st".
>
> frank
>
> > CodeLoader>>installSourceFile:
> > Receiver: a CodeLoader
> > Arguments and temporary variables:
> > aStream:  nil
> > contents:  nil
> > trusted:  nil
> > Receiver's instance variables:
> > baseURL:  ''
> > sourceFiles:  #(a HTTPDownloadRequest)
> > segments:  nil
> > publicKey:  nil
> >
> > [] in CodeLoader>>installSourceFiles {[:req | self installSourceFile: req
> > contentStream]}
> > Arguments and temporary variables:
> > req:  a HTTPDownloadRequest
> >
> > Array(SequenceableCollection)>>do:
> > Receiver: #(a HTTPDownloadRequest)
> > Arguments and temporary variables:
> > aBlock:  [] in CodeLoader>>installSourceFiles {[:req | self
> > installSourceFile: r...etc...
> > index:  1
> > indexLimiT:  1
> > Receiver's instance variables:
> > #(a HTTPDownloadRequest)
> >
> >
> > --- The full stack ---
> > CodeLoader(Object)>>error:
> > CodeLoader>>installSourceFile:
> > [] in CodeLoader>>installSourceFiles {[:req | self installSourceFile: req
> > contentStream]}
> > Array(SequenceableCollection)>>do:
> >  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > CodeLoader>>installSourceFiles
> > ProjectLauncher>>startUpAfterLogin
> > ProjectLauncher>>doEtoyLogin
> > ProjectLauncher>>startUp
> > [] in AutoStart class>>startUp: {[launcher startUp]}
> > WorldState>>runStepMethodsIn:
> > PasteUpMorph>>runStepMethods
> > WorldState>>doOneCycleNowFor:
> > WorldState>>doOneCycleFor:
> > PasteUpMorph>>doOneCycle
> > [] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor
> yield.
> > false] whileFalse.  nil]}
> > [] in BlockContext>>newProcess {[self value.  Processor terminateActive]}
> > =========== SqueakDebug.log END  ==========
> >
> >
> >
> > On Fri, Dec 6, 2013 at 12:17 AM, David T. Lewis <lewis at mail.msen.com>
> wrote:
> >>
> >> On Thu, Dec 05, 2013 at 02:36:42PM -0800, Eliot Miranda wrote:
> >> > On Thu, Dec 5, 2013 at 2:01 PM, Gustavo Duarte
> >> > <gduarte at activitycentral.com>wrote:
> >> >
> >> > > Eliot,
> >> > >
> >> > > Here the output of ps ww PID command.
> >> > >
> >> > > XO:
> >> > >
> >> > > PID TTY      STAT   TIME COMMAND
> >> > >   976 ?        S      0:22 /usr/lib/squeak/4.10.2-2614/squeakvm
> >> > > -encoding
> >> > > UTF-8 -vm-display-x11 -xshm -sugarBundleId org.vpri.EtoysActivity
> >> > > -sugarActivityId d25f8c2f9a19397ce914965abf04ed31b3f6b0ea
> >> > > -vm-sound-ALSA
> >> > > /usr/share/etoys/etoys.image  BUNDLE_PATH
> >> > > /home/olpc/Activities/Etoys.activity SQUEAKLETS
> >> > > /home/olpc/.sugar/default/org.vpri.EtoysActivity/instance BUNDLE_ID
> >> > > org.vpri.EtoysActivity ACTIVITY_ID
> >> > > d25f8c2f9a19397ce914965abf04ed31b3f6b0ea
> >> > >
> >> > >
> >> > > CM:
> >> > >
> >> > > PID TTY      STAT   TIME COMMAND
> >> > >  5912 ?        Rl     0:06 /usr/lib/squeak/4.4.7-2357/squeakvm
> >> > > -encoding
> >> > > UTF-8 -vm-display-x11 -xshm -sugarBundleId org.vpri.EtoysActivity
> >> > > -sugarActivityId c03be0a816bee1440f701b7d3b504b0968cb3274
> >> > > -vm-sound-pulse
> >> > > /usr/share/etoys/etoys.image BUNDLE_PATH
> >> > > /usr/share/sugar/activities/Etoys.activity SQUEAKLETS
> >> > > /home/gustavo-cm1/.sugar/default/org.vpri.EtoysActivity/instance
> >> > > BUNDLE_ID
> >> > > org.vpri.EtoysActivity ACTIVITY_ID
> >> > > c03be0a816bee1440f701b7d3b504b0968cb3274
> >> > >
> >> > >
> >> > > Seem the script that start squeak is ok, right ?
> >> > >
> >> >
> >> >
> >> > Looks like it :-(.  That implies theres a bug in the VM on ubuntu :-(.
> >> >  Might it be something to do with the vm-sound-pulse plugin
> mis-parsing
> >> > the
> >> > command line?  What happens if you start it with no sound (omit
> >> > -vm-sound-pulse) ?
> >> >
> >>
> >> After reading this thread, I was initially confused by the command line
> >> options that are being passed to the VM:
> >>
> >>   -encoding UTF-8
> >>   -vm-display-x11
> >>   -xshm
> >>   -sugarBundleId org.vpri.EtoysActivity
> >>   -sugarActivityId c03be0a816bee1440f701b7d3b504b0968cb3274
> >>   -vm-sound-pulse
> >>
> >> These are options that are parsed by the VM executable itself, as
> opposed
> >> to being passed to the Etoys image and evaluated there.
> >>
> >> I took a look at the VM sources, and see that the -sugarBundleId and
> >> the -sugarActivityId parameters will be interpreted by the VM executable
> >> if and only if the VM was compiled with Sugar support:
> >>
> >>   #    if defined(SUGAR)
> >>         else if (!strcmp(arg, "-sugarBundleId"))   sugarBundleId=
> argv[1];
> >>         else if (!strcmp(arg, "-sugarActivityId")) sugarActivityId=
> >> argv[1];
> >>   #    endif
> >>
> >> I expect that if the Etoys image is run from a script that specifies
> those
> >> two VM parameters, and if the VM was not compiled without Sugar support,
> >> then the command line parameters are probably going to get out of whack.
> >> The dictionary that got turned inside out is probably a side effect of
> >> this.
> >>
> >> So my guess is that the script is trying to run a VM for Etoys in the
> >> Sugar environment, but the VM that is being run by that script was not
> >> compiled with Sugar support enabled.
> >>
> >> Dave
> >>
> >>
> >
> >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20131206/3db12172/attachment.htm


More information about the Squeak-dev mailing list