[Vm-dev] Re: Error compiling cog for MacOS 10.6
Casey Ransberger
casey.obrien.r at gmail.com
Fri Jul 30 20:27:53 UTC 2010
Nope; that's probably the difference then. I used the makevm script in the macbuild directory.
On Jul 30, 2010, at 12:27 PM, Mariano Martinez Peck <marianopeck at gmail.com> wrote:
>
> Version 3.2.2
> 64-bit
>
> Component versions
> Xcode IDE: 1650.0
> Xcode Core: 1648.0
>
> In addition, GCC
>
> ;-) gcc --version
> i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5659)
> Copyright (C) 2007 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> Did you try setting the option "Mac OS X 10.6" in XCode ?
>
> Thanks
>
> Mariano
>
>
> On Fri, Jul 30, 2010 at 9:22 PM, Casey Ransberger <casey.obrien.r at gmail.com> wrote:
>
> Hmm. I didn't have any trouble compiling Cog on 10.6. Which Xcode version are you using?
>
> On Jul 30, 2010, at 11:57 AM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>
>>
>
>>
>>
>> On Fri, Jul 30, 2010 at 6:29 AM, Mariano Martinez Peck <marianopeck at gmail.com> wrote:
>>
>> sorry....quick send...try again:
>> Hi Eliot. I am trying to compie CogVM from XCode. If I choose "Mac OS X 10.5 (Base SDK)" CogVM compiles without problem.
>>
>> But if I choose "Mac OS X 10.6" I have a compile error in ucontext.h line 42:
>>
>> #error ucontext routines are deprecated, and require _XOPEN_SOURCE to be define
>>
>> It comes from sqUnixVMProfile.x where you have:
>>
>> #include <ucontext.h>
>>
>>
>> any ideas how can I fix this?
>>
>> I guess three ways. One is simply to define _XOPEN_SOURCE. But better is to figure out how to get the program counter pointer value from a signal handler in 10.6. i.e. what the profiler does is periodically sample the VM thread's program counter. It does this using a thread that sends SIGPROF to the VM thread and have the SIGPROF handler (pcbufferSIGPROFhandler) get the interrupted pc from the ucontext structure passed into the signal handler. Presumably there's a new way of doing this in 10.6. Find out what that is.
>>
>> The third way is simply to define NO_VM_PROFILE and then the file will provide only stubs and you'll have no functional VM profiler.
>>
>> HTH
>> Eliot
>>
>>
>>
>> Thanks!
>>
>> Mariano
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20100730/81b9699a/attachment-0001.htm
More information about the Vm-dev
mailing list