Alan Knight wrote:
> There seems to be something interesting in your package such that > > Root whoDefinesBinding: theBindingInQuestion > > comes back with nil, indicating the binding is not defined in any namespace, not even Undeclared. The system should probably be able to handle that gracefully, but it sounds like this package may have more problems that not being able to compute its prerequisites properly. > Sorry for the delay, I just haven't had a chance to jump in the debugger since. Here's where the problem is, and you be the judge of who's at fault. We'll use an existing package as guinea pig, say Compression-ZLib, where class ZLibInterface has a method, z_off_t <C: typedef long z_off_t> Now, lets take a look at the things it references, (ZLibInterface compiledMethodAt: #z_off_t) allLiterals ... IdentitySet ((ResolvedDeferredBinding key: #z_off_t)) Now, the reason why #z_off_t resolves locally, of course, is because ZLibInterface explicitly imports OS.ZLib.ZLibInterfaceDictionary.* where aCTypedefType instance called z_off_t lives. Unfortunately trying to look up this symbol in the local bindings of ZLib or ZLibInterface is pointless, which is why recursive lookup from Root comes back with nil in the first place. ZLib localBindingFor: #z_off_t ... nil ZLibInterface localBindingFor: #z_off_t ... nil Oh yea, this means that if you try to calculate prerequisites for Compression-ZLib, you are destined to see the error in its fully glory for yourself. Or even, say, OS-Support etc, pretty much any package that defines subclasses of ExternalInterface is cursed in the current implementation. Cheers! -Boris > At 12:29 PM 1/10/2006, Boris Popov wrote: > >> This exception pops up when trying to compute prerequisites for a package (7.4): >> >> Unhandled exception: Message not understood: #absoluteSymbol >> UndefinedObject(Object)>>doesNotUnderstand: >> Store.PackageModel>>includesDataKey:owner: >> Store.PackageModel>>definesName:in: >> optimized [] in [] in Refactory.Browser.DeploymentPrerequisitesTool>>addReferencePrereqsFrom:to: >> OrderedCollection>>detect:ifNone: >> optimized [] in Refactory.Browser.DeploymentPrerequisitesTool>>addReferencePrereqsFrom:to: >> IdentitySet(Set)>>do: >> Refactory.Browser.DeploymentPrerequisitesTool>>addReferencePrereqsFrom:to: >> optimized [] in Refactory.Browser.DeploymentPrerequisitesTool>>computePrerequisites >> > > -- > Alan Knight [|], Cincom Smalltalk Development > [hidden email] > [hidden email] > http://www.cincom.com/smalltalk > > "The Static Typing Philosophy: Make it fast. Make it right. Make it run." - Niall Ross > -Boris -- +1.604.689.0322 DeepCove Labs Ltd. 4th floor 595 Howe Street Vancouver, Canada V6C 2T5 [hidden email] CONFIDENTIALITY NOTICE This email is intended only for the persons named in the message header. Unless otherwise indicated, it contains information that is private and confidential. If you have received it in error, please notify the sender and delete the entire message including any attachments. Thank you. |
Free forum by Nabble | Edit this page |