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 |
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 ? > |
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 |
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 |
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 |
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 > <> |
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 |
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... |
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 |
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 ======================================================================== === |
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 ======================================================================== === |
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 ======================================================================== === |
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 |
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 |
Free forum by Nabble | Edit this page |