[Vm-dev] Re: [squeak-dev] Re: Cog on linux

Levente Uzonyi leves at elte.hu
Wed Jul 14 21:29:52 UTC 2010


On Wed, 14 Jul 2010, Frank Shearar wrote:

> On 2010/07/13 23:04, Levente Uzonyi wrote:
>> On Tue, 13 Jul 2010, Rob Withers wrote:
>> 
>>> Thanks Levente. Unfortunately it did not work:
>>> 
>>> ./lib/squeak/3.9-7/squeak: /lib/libc.so.6: version `GLIBC_2.11' not
>>> found (required by ./lib/squeak/3.9-7/squeak)
>> 
>> Seems like you have to build it yourself. Fortunately it's very easy,
>> since Eliot commits the generated sources to the svn repo. So you can
>> build a CogVM/StackVM without VMMaker. Here is how:
>> 
>> "How to build the Cog Croquet VM on Unix
>> -------------------------------
>> 1. Install the tools (gcc, X11-devel, etc (e.g. libpng, libX11 & libxt
>> source))
>> 2. Check out the following sources from svn (if you haven't already - if
>> you're
>> reading this in unixbuild its likely you've already got the sources)
>> svn co http://www.squeakvm.org/svn/squeak/branches/Cog/platforms
>> svn co http://www.squeakvm.org/svn/squeak/branches/Cog/src
>> svn co http://www.squeakvm.org/svn/squeak/branches/Cog/unixbuild
>> 3. Open a shell, cd into the unixbuild/bld directory and execute
>> ../../platforms/unix/config/configure CFLAGS="-g -O2 -msse2
>> -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
>> -DCOGMTVM=0" LIBS=-lpthread
>> make install prefix=WhereYouWantTheVmToGo
>> 4. At the end of it you'll get a new VM in the path provided via -prefix"
>
> Are there any additional requirements like gcc version, for instance?
>
> I ask because I get errors on the above instructions, on FreeBSD 6.4, running 
> gcc 3.4.6. I can attach configure's output and whatnot, if you're interested.

If configure failed, then please attach the output and continue this 
thread on the vm-dev list.


Levente

>
> frank
>
>> Levente
>> 
>>> 
>>> Rob
>>> 
>>> 
>>> 
>>> ________________________________
>>> From: Levente Uzonyi <leves at elte.hu>
>>> To: The general-purpose Squeak developers list
>>> <squeak-dev at lists.squeakfoundation.org>
>>> Sent: Tue, July 13, 2010 3:21:43 PM
>>> Subject: Re: Cog on linux (was: Re: [squeak-dev] Re: UI lockup in
>>> Squeak 4.1)
>>> 
>>> On Tue, 13 Jul 2010, Rob Withers wrote:
>>> 
>>>> --------------------------------------------------
>>>> From: "Levente Uzonyi" <leves at elte.hu>
>>>> Sent: Tuesday, July 13, 2010 12:46 PM
>>>> To: "The general-purpose Squeak developers list"
>>>> <squeak-dev at lists.squeakfoundation.org>
>>>> Subject: Cog on linux (was: Re: [squeak-dev] Re: UI lockup in Squeak
>>>> 4.1)
>>>> 
>>>>> On Tue, 13 Jul 2010, Rob Withers wrote:
>>>>> 
>>>>>> 
>>>>>> --------------------------------------------------
>>>>>> From: "Andreas Raab" <andreas.raab at gmx.de>
>>>>>> Sent: Tuesday, July 13, 2010 11:29 AM
>>>>>> To: "The general-purpose Squeak developers list"
>>>>>> <squeak-dev at lists.squeakfoundation.org>
>>>>>> Subject: [squeak-dev] Re: UI lockup in Squeak 4.1
>>>>>> 
>>>>>>> On 7/13/2010 6:39 AM, Rob Withers wrote:
>>>>>>>> The low-space watcher is running, at least before the problem
>>>>>>>> starts. I
>>>>>>>> do eventually run out of memory, but the uninterruptable state
>>>>>>>> happens
>>>>>>>> before this.
>>>>>>> 
>>>>>>> In which case you want to do the following:
>>>>>>> * Launch your app and wait until it's in the "growing state"
>>>>>>> * Hit F2 and from the VM's preference menu choose "Debug" and then
>>>>>>> "Print all processes"
>>>>>>> 
>>>>>>> This will dump a list of all the call stacks of all processes. One
>>>>>>> of them is the culprit consuming memory and you'll probably be
>>>>>>> able to tell quickly from just looking at it (if not, you can
>>>>>>> email the output here but it typically takes a domain expert to
>>>>>>> understand what's going wrong).
>>>>>>> 
>>>>>> 
>>>>>> Thanks for this pointer, Andreas.
>>>>>> 
>>>>>> This time it was a Cog VM which spasmed, which I use for my client
>>>>>> (Squeak 4.1 for server for use with linux vm - I have no ability to
>>>>>> compile a linux Cog vm: would love if someone posted one that could
>>>>>> be launched headless for my webhost).
>>>>> 
>>>>> Cog works, but i think you're trying to use the -headless switch,
>>>>> which (is deprecated) and tells the vm to use the X11 display, but
>>>>> with no window. Servers usually don't have X11, so it won't work.
>>>>> You better use -vm-display-null (and -vm-sound-null). Try squeak
>>>>> --help for further useful options (like tuning Cog).
>>>>> 
>>>> 
>>>> I am trying to use the -headless switch. Good to know it is
>>>> deprecated. So you happen to have a Cog for linux binary (version 17
>>>> - 20), which I could use?
>>> 
>>> I have one, but I'm not sure it will work on your server. You can find
>>> it here: http://leves.web.elte.hu/squeak/cog17.tar.gz . It's built on
>>> ubuntu 10.04 and is optimized for core2.
>>> 
>>> 
>>> Levente
>>> 
>>>> 
>>>> Thanks,
>>>> Rob
>>>> 
>>>>> 
>>>>> Levente
>>>>> 
>>>>>> 
>>>>>> It started running at 100% and I did your F2 -> Debug Options ->
>>>>>> Print all processes. It started dumping a LOT to the Debug Console,
>>>>>> then it froze, still at 100%, but no increase in memory now and it
>>>>>> went (Not Responding) and greyed out the window.
>>>>>> 
>>>>>> Luckily, I was able to see enough of the stack that was causing
>>>>>> problems. It is infinitely looping in this method:
>>>>>> 
>>>>>> LanguageEnvironment class>>#localeID: localeID
>>>>>> ^self knownEnvironments at: localeID ifAbsent: [self localeID:
>>>>>> (LocaleID isoLanguage: 'en')]
>>>>>> 
>>>>>> This has nothing to do with my code, except I must be calling
>>>>>> something that enters this loop. It happens in both Cog (Windows)
>>>>>> and Squeak4.1 (Linux <headless> and Windows).
>>>>>> 
>>>>>> Not sure how to fix this.
>>>>>> 
>>>>>> Rob
>>>>>> 
>>>>>>> Cheers,
>>>>>>> - Andreas
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> 
>> 
>> 
>> 
>
>
>


More information about the Vm-dev mailing list