building intel mac VM: mactypes.h not found

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

building intel mac VM: mactypes.h not found

Damien Pollet
 
Here is what XCode says:

In file included from
/Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/src/vm/intplugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c:18:
/Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/platforms/Mac
OS/vm/sqConfig.h:4:22: mactypes.h: No such file or directory

This is with a just dezipped xcode project, I have both 10.3.9 and
10.4 SDKs… what's the problem ?

--
Damien Pollet
type less, do more [ | ] http://typo.cdlm.fasmz.org
Reply | Threaded
Open this post in threaded view
|

Re: building intel mac VM: mactypes.h not found

Andreas.Raab
 
I remember seeing this problem; it was something related to importing
the frameworks correctly.

Cheers,
   - Andreas

Damien Pollet wrote:

>  
>
>
> ------------------------------------------------------------------------
>
> Here is what XCode says:
>
> In file included from
> /Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/src/vm/intplugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c:18:
>
> /Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/platforms/Mac
>
> OS/vm/sqConfig.h:4:22: mactypes.h: No such file or directory
>
> This is with a just dezipped xcode project, I have both 10.3.9 and
> 10.4 SDKs… what's the problem ?
>
Reply | Threaded
Open this post in threaded view
|

Re: building intel mac VM: mactypes.h not found

Damien Pollet
 
Hmm I think the problem was that the actual file has a camelcase name
(/Developer/Headers/FlatCarbon/MacTypes.h is the only file that
spotlight finds with this name).

It's included as mactypes.h in lowercase in the code and I formatted
my disk in case-sensitive HFS+.

Same for Types.h and TextUtils.h…

Then I get:
/Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/platforms/Mac
OS/plugins/JoystickTabletPlugin/HID_Utilities.h:57:32:
IOKit/HID/IOHIDLib.h: No such file or directory

…which only exists in the 10.4 SDK but the project file mentions
10.3.9… investigating that now.

On 02/05/07, Andreas Raab <[hidden email]> wrote:

>
> I remember seeing this problem; it was something related to importing
> the frameworks correctly.
>
> Cheers,
>    - Andreas
>
> Damien Pollet wrote:
> >
> >
> >
> > ------------------------------------------------------------------------
> >
> > Here is what XCode says:
> >
> > In file included from
> > /Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/src/vm/intplugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c:18:
> >
> > /Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/platforms/Mac
> >
> > OS/vm/sqConfig.h:4:22: mactypes.h: No such file or directory
> >
> > This is with a just dezipped xcode project, I have both 10.3.9 and
> > 10.4 SDKs… what's the problem ?
> >
>

--
Damien Pollet
type less, do more [ | ] http://typo.cdlm.fasmz.org
Reply | Threaded
Open this post in threaded view
|

Re: building intel mac VM: mactypes.h not found

Damien Pollet
 
OK, I fixed a bunch of those case sensitiveness bugs, patch attached.


On 03/05/07, Damien Pollet <[hidden email]> wrote:

> Hmm I think the problem was that the actual file has a camelcase name
> (/Developer/Headers/FlatCarbon/MacTypes.h is the only file that
> spotlight finds with this name).
>
> It's included as mactypes.h in lowercase in the code and I formatted
> my disk in case-sensitive HFS+.
>
> Same for Types.h and TextUtils.h…
>
> Then I get:
> /Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/platforms/Mac
> OS/plugins/JoystickTabletPlugin/HID_Utilities.h:57:32:
> IOKit/HID/IOHIDLib.h: No such file or directory
>
> …which only exists in the 10.4 SDK but the project file mentions
> 10.3.9… investigating that now.
>
> On 02/05/07, Andreas Raab <[hidden email]> wrote:
> >
> > I remember seeing this problem; it was something related to importing
> > the frameworks correctly.
> >
> > Cheers,
> >    - Andreas
> >
> > Damien Pollet wrote:
> > >
> > >
> > >
> > > ------------------------------------------------------------------------
> > >
> > > Here is what XCode says:
> > >
> > > In file included from
> > > /Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/src/vm/intplugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c:18:
> > >
> > > /Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/platforms/Mac
> > >
> > > OS/vm/sqConfig.h:4:22: mactypes.h: No such file or directory
> > >
> > > This is with a just dezipped xcode project, I have both 10.3.9 and
> > > 10.4 SDKs… what's the problem ?
> > >
> >
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://typo.cdlm.fasmz.org
>

--
Damien Pollet
type less, do more [ | ] http://typo.cdlm.fasmz.org

case-sensitive-mac-headers.patch (7K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: building intel mac VM: mactypes.h not found

Ken G. Brown
In reply to this post by Damien Pollet

For the issues between 10.3.9 and 10.4, in XCode, at the bottom of Project / Edit Active Target / Build / Deployment / All Settings
Change SDKROOT_ppc = /Developer/SDKs/MacOSX10.3.9.sdk/ to MacOSX10.4.0u.sdk.

Might solve some problems compiling.

   Ken

>Hmm I think the problem was that the actual file has a camelcase name
>(/Developer/Headers/FlatCarbon/MacTypes.h is the only file that
>spotlight finds with this name).
>
>It's included as mactypes.h in lowercase in the code and I formatted
>my disk in case-sensitive HFS+.
>
>Same for Types.h and TextUtils.hŠ
>
>Then I get:
>/Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/platforms/Mac
>OS/plugins/JoystickTabletPlugin/HID_Utilities.h:57:32:
>IOKit/HID/IOHIDLib.h: No such file or directory
>
>Šwhich only exists in the 10.4 SDK but the project file mentions
>10.3.9Š investigating that now.
>
>On 02/05/07, Andreas Raab <[hidden email]> wrote:
>>
>>I remember seeing this problem; it was something related to importing
>>the frameworks correctly.
>>
>>Cheers,
>>   - Andreas
>>
>>Damien Pollet wrote:
>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> Here is what XCode says:
>>>
>>> In file included from
>>> /Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/src/vm/intplugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c:18:
>>>
>>> /Volumes/Ogeima/Users/dpollet/Documents/Development/Squeak/squeak-svn/platforms/Mac
>>>
>>> OS/vm/sqConfig.h:4:22: mactypes.h: No such file or directory
>>>
>>> This is with a just dezipped xcode project, I have both 10.3.9 and
>>> 10.4 SDKsŠ what's the problem ?
>>>
>>
>
>
>--
>Damien Pollet
>type less, do more [ | ] http://typo.cdlm.fasmz.org

Reply | Threaded
Open this post in threaded view
|

Re: building intel mac VM: mactypes.h not found

Ken G. Brown
 
Oops, make that MacOSX10.4u.sdk
  Ken

>For the issues between 10.3.9 and 10.4, in XCode, at the bottom of Project / Edit Active Target / Build / Deployment / All Settings
>Change SDKROOT_ppc = /Developer/SDKs/MacOSX10.3.9.sdk/ to MacOSX10.4.0u.sdk.
>
>Might solve some problems compiling.
>
>   Ken
>
<>
Reply | Threaded
Open this post in threaded view
|

Re: building intel mac VM: mactypes.h not found

Damien Pollet
In reply to this post by Damien Pollet
 
On 03/05/07, Ken G. Brown <[hidden email]> wrote:
>
> For the issues between 10.3.9 and 10.4, in XCode, at the bottom of Project / Edit Active Target / Build / Deployment / All Settings
> Change SDKROOT_ppc = /Developer/SDKs/MacOSX10.3.9.sdk/ to MacOSX10.4.0u.sdk.
>
> Might solve some problems compiling.

What is the theoretical difference between the SDKs, as far as Squeak
is concerned ?

I fiddled with that and I can't exactly remember what I finally put in
there. After the case issues (e.g. IOKit/HID/IOHIDLib.h should have
been IOKit/hid/IOHIDLib.h), I had to comment out a couple of mentions
to exupery somewhere, and the VM built.

This is on a 2GHz MacBook (1st generation, Core (not 2) duo, and I get:
      0 tinyBenchmarks '356050069 bytecodes/sec; 7603848 sends/sec'

I'll ask for my certificate at ESUG 2007 :-)

Now, on to writing plugins.
--
Damien Pollet
type less, do more [ | ] http://typo.cdlm.fasmz.org
Reply | Threaded
Open this post in threaded view
|

VMMaker 3.8b6.1 Cannot build TestOSAplugin

Ken G. Brown
In reply to this post by Ken G. Brown
 
MacPro OS X 10.4.9
In fresh squeak-dev-118 image, running on Squeak 3.8.17beta5U.app:

>From Package Universes, install FFI and VMMaker 3.8b6.1, from SqueakMap install Balloon 3D.
Open VMMakerTool, point to svn source tree, select TestOSZPlugin only, to be built external.
Tell it to build entire. Get debug notifier, see below.

What needs to be done?
Thx
Ken

2 May 2007 5:37:09 pm

VM: Mac OS - a SmalltalkImage
Image: Squeak3.9 [latest update: #7067]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /mySqueakStuff/Sqkb/Sqkb3.10a/squeak-dev-118VMfresh
Trusted Dir /foobar/tooBar/forSqueak/bogus
Untrusted Dir /Users/kbrownMPro/Library/Preferences/Squeak/Internet/My Squeak

SmartSyntaxPluginTMethod(Object)>>error:
        Receiver: a SmartSyntaxPluginTMethod (primOSAExecute)
        Arguments and temporary variables:
                aString: 'primOSAExecute: parameter spec must be a Behavior'
        Receiver's instance variables:
                selector: #primOSAExecute
                returnType: 'sqInt'
                args: an OrderedCollection('script' 'context' 'mode' 'result')
                locals: an OrderedCollection('component' 'resultsOfCall' 'giLocker')
                declarations: a Dictionary()
                primitive: 0
                parseTree: [
        component := self primitive: 'primOSAExecute' parameters: #(#OSAI...etc...
                labels: an OrderedCollection()
                possibleSideEffectsCache: nil
                complete: false
                export: false
                static: true
                sharedLabel: nil
                sharedCase: nil
                comment: nil
                definingClass: nil
                globalStructureBuildMethodHasFoo: nil
                isPrimitive: false
                suppressingFailureGuards: false
                fullSelector: #primOSAExecute:in:mode:to:
                fullArgs: nil
                parmSpecs: nil
                rcvrSpec: nil

[] in SmartSyntaxPluginTMethod>>primitive:parameters:receiver: {[^ self error: selector , ': parameter spec must be a Behavior']}
        Arguments and temporary variables:
                aString: 'primOSAExecute'
                anArray: #(#OSAID #OSAID #SmallInteger #OSAID)
                aClassSymbol: #ComponentInstance
                each: #OSAID

SystemDictionary(Dictionary)>>at:ifAbsent:
        Receiver: a SystemDictionary(lots of globals)
        Arguments and temporary variables:
                key: #OSAID
                aBlock: [] in SmartSyntaxPluginTMethod>>primitive:parameters:receiver: {[^ self...etc...
                assoc: nil
        Receiver's instance variables:
                tally: 2923
                array: an Array(nil nil nil nil #SMInstaller->SMInstaller #EFontBDFFontReaderFo...etc...
                cachedClassNames: nil

[] in SmartSyntaxPluginTMethod>>primitive:parameters:receiver: {[:each | Smalltalk   at: each   ifAbsent: [^ self error: selector , ': param...]}
        Arguments and temporary variables:
                aString: 'primOSAExecute'
                anArray: #(#OSAID #OSAID #SmallInteger #OSAID)
                aClassSymbol: #ComponentInstance
                each: #OSAID


--- The full stack ---
SmartSyntaxPluginTMethod(Object)>>error:
[] in SmartSyntaxPluginTMethod>>primitive:parameters:receiver: {[^ self error: selector , ': parameter spec must be a Behavior']}
SystemDictionary(Dictionary)>>at:ifAbsent:
[] in SmartSyntaxPluginTMethod>>primitive:parameters:receiver: {[:each | Smalltalk   at: each   ifAbsent: [^ self error: selector , ': param...]}
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Array(SequenceableCollection)>>collect:
SmartSyntaxPluginTMethod>>primitive:parameters:receiver:
SmartSyntaxPluginTMethod>>isPrimitiveDirectiveSend:
SmartSyntaxPluginTMethod>>primitiveDirectiveWasHandled:on:
[] in SmartSyntaxPluginTMethod>>extractPrimitiveDirectives {[:stmt | (self primitiveDirectiveWasHandled: stmt on: sStream)   ifFalse: [s...]}
OrderedCollection>>do:
[] in SmartSyntaxPluginTMethod>>extractPrimitiveDirectives {[:sStream | parseTree statements   do: [:stmt | (self primitiveDirectiveWasH...]}
Array class(SequenceableCollection class)>>streamContents:
SmartSyntaxPluginTMethod>>extractPrimitiveDirectives
SmartSyntaxPluginTMethod>>setSelector:args:locals:block:primitive:
MethodNode>>asTranslationMethodOfClass:
[] in SmartSyntaxPluginCodeGenerator(CCodeGenerator)>>addClass: {[:sel :i |  bar value: i.  source := aClass sourceCodeAt: sel.  self   addMe...]}
[] in IdentitySet(Set)>>doWithIndex: {[:item | aBlock2 value: item value: (index := index + 1)]}
IdentitySet(Set)>>do:
IdentitySet(Set)>>doWithIndex:
[] in SmartSyntaxPluginCodeGenerator(CCodeGenerator)>>addClass: {[:bar | aClass selectors   doWithIndex: [:sel :i |     bar value: i.    sour...]}
[] in ProgressInitiationException>>defaultMorphicAction {[result := workBlock value: progress]}
BlockContext>>ensure:
ProgressInitiationException>>defaultMorphicAction
ProgressInitiationException>>defaultAction
UndefinedObject>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
ProgressInitiationException(Exception)>>signal
ProgressInitiationException>>display:at:from:to:during:
...etc...
Reply | Threaded
Open this post in threaded view
|

Re: VMMaker 3.8b6.1 Cannot build TestOSAplugin

timrowledge
 

On 2-May-07, at 4:45 PM, Ken G. Brown wrote:

>
> MacPro OS X 10.4.9
> In fresh squeak-dev-118 image, running on Squeak 3.8.17beta5U.app:
>
>> From Package Universes, install FFI and VMMaker 3.8b6.1, from  
>> SqueakMap install Balloon 3D.
> Open VMMakerTool, point to svn source tree, select TestOSZPlugin  
> only, to be built external.
> Tell it to build entire. Get debug notifier, see below.
I've never built the TestOSAPlugin (not exactly relevant on RISC OS!)  
but it looks to me like perhaps the pool or constants stuff is  
missing. Just like with the Balloon3D & Klatt plugins needing the  
same constants as the image code that uses them.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Fractured Idiom:- VISA LA FRANCE - Don't leave chateau without it


Reply | Threaded
Open this post in threaded view
|

Re: building intel mac VM: mactypes.h not found

johnmci
In reply to this post by Damien Pollet
 
Well first the issue with type sensitive file names can only be  
solved by doing what you did and attempting to compile on a case  
sensitive
HFS+ system.

The Squeak VM for powerpc is compiled using the 10.3.9 SDK with a  
target deployment of 10.2.8, in order for the VM to run on 10.2.x system
Although no squeak developer might actually be using such a systme,  
many schools are saddled with such old software.
In this case the VM is weak linked to the frameworks and at run time  
we determine what to do.

Currently the only features used in 10.3 includes:

a) A call to swap a background squeak VM to the foreground, however  
this is a specialized use of Squeak for which I don't know if anyone  
is using.
    There is no alternate choice, but since it's a specialized use of  
squeak, no-one has complained.

b) A set of calls to determine where the mouse is on a mouse down.  
10.3 provides a nice feature where we can ask where the mouse, like  
in the content
of the window, versus the title bar etc.   The fallback is to use  
histroical code that gets the window's content bounding region and  
check that for inclusion.

c) A set of calls to do dynamic loading in the unix plugin/module  
loading. In this case we fall back to using the 10.2 code that was  
written for the unix VM.

d) A set of calls to set the display mode, a specialized squeak  
prmitive that alters the resolution of the main display. For 10.2 we  
fall back to using the 10.2 code, where as for 10.3 there is  a nice  
clean api to use instead.


Lastly the real test is of course to compare a current "offical" VM  
bytecodes (many iterations) to your numbers to see if they are similar.


On May 2, 2007, at 4:25 PM, Damien Pollet wrote:

> On 03/05/07, Ken G. Brown <[hidden email]> wrote:
>>
>> For the issues between 10.3.9 and 10.4, in XCode, at the bottom of  
>> Project / Edit Active Target / Build / Deployment / All Settings
>> Change SDKROOT_ppc = /Developer/SDKs/MacOSX10.3.9.sdk/ to  
>> MacOSX10.4.0u.sdk.
>>
>> Might solve some problems compiling.
>
> What is the theoretical difference between the SDKs, as far as Squeak
> is concerned ?
>
> I fiddled with that and I can't exactly remember what I finally put in
> there. After the case issues (e.g. IOKit/HID/IOHIDLib.h should have
> been IOKit/hid/IOHIDLib.h), I had to comment out a couple of mentions
> to exupery somewhere, and the VM built.
>
> This is on a 2GHz MacBook (1st generation, Core (not 2) duo, and I  
> get:
>      0 tinyBenchmarks '356050069 bytecodes/sec; 7603848 sends/sec'
>
> I'll ask for my certificate at ESUG 2007 :-)
>
> Now, on to writing plugins.
> --
> Damien Pollet
> type less, do more [ | ] http://typo.cdlm.fasmz.org

--
========================================================================
===
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
========================================================================
===


Reply | Threaded
Open this post in threaded view
|

Re: VMMaker 3.8b6.1 Cannot build TestOSAplugin

johnmci
In reply to this post by timrowledge
 
Well there was

http://bugs.squeak.org/view.php?id=2146

but I think that is in VMMaker.

Mmm really of course it's the 'primOSAExecute: parameter spec must be  
a Behavior'

So where did the plugin code change set come from?

On May 2, 2007, at 5:01 PM, tim Rowledge wrote:

>
> On 2-May-07, at 4:45 PM, Ken G. Brown wrote:
>
>>
>> MacPro OS X 10.4.9
>> In fresh squeak-dev-118 image, running on Squeak 3.8.17beta5U.app:
>>
>>> From Package Universes, install FFI and VMMaker 3.8b6.1, from  
>>> SqueakMap install Balloon 3D.
>> Open VMMakerTool, point to svn source tree, select TestOSZPlugin  
>> only, to be built external.
>> Tell it to build entire. Get debug notifier, see below.
> I've never built the TestOSAPlugin (not exactly relevant on RISC  
> OS!) but it looks to me like perhaps the pool or constants stuff is  
> missing. Just like with the Balloon3D & Klatt plugins needing the  
> same constants as the image code that uses them.
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Fractured Idiom:- VISA LA FRANCE - Don't leave chateau without it
>
>

--
========================================================================
===
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
========================================================================
===


Reply | Threaded
Open this post in threaded view
|

Re: building intel mac VM: mactypes.h not found

johnmci
In reply to this post by Damien Pollet
 
I've checked these changes into the SVN tree, please cross check to  
ensure I got them correct.

On May 2, 2007, at 3:29 PM, Damien Pollet wrote:

> OK, I fixed a bunch of those case sensitiveness bugs, patch attached.

--
========================================================================
===
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
========================================================================
===


Reply | Threaded
Open this post in threaded view
|

Re: building intel mac VM: mactypes.h not found

Damien Pollet
 
On 03/05/07, John M McIntosh <[hidden email]> wrote:
> I've checked these changes into the SVN tree, please cross check to
> ensure I got them correct.

Built OK, the only svn conflict I had was in sqMacOpenGL.h because you
removed the metrowerks conditional I had kept. Thanks!

> On May 2, 2007, at 3:29 PM, Damien Pollet wrote:
> > OK, I fixed a bunch of those case sensitiveness bugs, patch attached.


--
Damien Pollet
type less, do more [ | ] http://typo.cdlm.fasmz.org
Reply | Threaded
Open this post in threaded view
|

Re: building intel mac VM: mactypes.h not found

Damien Pollet
In reply to this post by johnmci
 
On 03/05/07, John M McIntosh <[hidden email]> wrote:

>
> Well first the issue with type sensitive file names can only be
> solved by doing what you did and attempting to compile on a case
> sensitive
> HFS+ system.
>
> The Squeak VM for powerpc is compiled using the 10.3.9 SDK with a
> target deployment of 10.2.8, in order for the VM to run on 10.2.x system
> Although no squeak developer might actually be using such a systme,
> many schools are saddled with such old software.
> In this case the VM is weak linked to the frameworks and at run time
> we determine what to do.
>
> Currently the only features used in 10.3 includes:
>
> a) A call to swap a background squeak VM to the foreground, however
> this is a specialized use of Squeak for which I don't know if anyone
> is using.
>     There is no alternate choice, but since it's a specialized use of
> squeak, no-one has complained.
>
> b) A set of calls to determine where the mouse is on a mouse down.
> 10.3 provides a nice feature where we can ask where the mouse, like
> in the content
> of the window, versus the title bar etc.   The fallback is to use
> histroical code that gets the window's content bounding region and
> check that for inclusion.
>
> c) A set of calls to do dynamic loading in the unix plugin/module
> loading. In this case we fall back to using the 10.2 code that was
> written for the unix VM.
>
> d) A set of calls to set the display mode, a specialized squeak
> prmitive that alters the resolution of the main display. For 10.2 we
> fall back to using the 10.2 code, where as for 10.3 there is  a nice
> clean api to use instead.

OK so I gather that there is no hard dependancy on one SDK or another,
the code is meant to adapt to both.

> Lastly the real test is of course to compare a current "offical" VM
> bytecodes (many iterations) to your numbers to see if they are similar.
> > This is on a 2GHz MacBook (1st generation, Core (not 2) duo, and I
> > get:
> >      0 tinyBenchmarks '356050069 bytecodes/sec; 7603848 sends/sec'

With Squeak 3.8.17beta4U: '352617079 bytecodes/sec; 7518637 sends/sec'
With Squeak-3.9-10 (unix): '205292702 bytecodes/sec; 6951829 sends/sec'

--
Damien Pollet
type less, do more [ | ] http://typo.cdlm.fasmz.org