Hi,
I have created a new package with 7 classes. When I try to save it a warning dialog pops up saying that "the package can not be saved because the package will NOT load if saved in this form so the package file has not been saved." The prerequisite pane of the package browser (Dolphin 5) shows that this new package (w/ 7 classes) depends upon three standard packages directly: Dolphin Debug Trace Stream Sockets Connection Why can't I save the package to PAC format? When I attempt to save it using PAX source format the 7 classes are successfully saved to their "file out", i.e. *.cls chunk format, but the overall operation without writing the 8th file (presumably the PAX file itself). I get a debug walkback window and I find that the package "hasCyclicPrerequisites." The classes do reference each other in several of their class methods but I don't see any way this package is cyclically referenced by the standard packages. It appears that this circular reference amongst my packages is upsetting the Package>>#hasCyclicPrerequisities: algorithm. Any suggestions? John |
John Small <[hidden email]> wrote in message
news:[hidden email]... > When I try to save it a warning dialog pops up > saying that "the package can not be saved because > the package will NOT load if saved in this form so > the package file has not been saved." > > The prerequisite pane of the package browser (Dolphin 5) shows > that this new package (w/ 7 classes) depends upon three > standard packages directly: ... Try to drill down on the prerequisite tree and see if one of the system packages depends upon one of your packages, and then look to see the reason. Perhaps you accidentally have some of your code in one of the system packages. > When I attempt to save it using PAX source format > the 7 classes are successfully saved to their "file out", > i.e. *.cls chunk format, but the overall operation without > writing the 8th file (presumably the PAX file itself). > I get a debug walkback window and I find that the > package "hasCyclicPrerequisites." This sounds like it might be a bug, it should probably alert about the cyclic prerequisites before it starts saving the files. Chris |
In reply to this post by John Small
On Thu, 6 Jun 2002 17:58:38 -0400, "John Small" <[hidden email]>
wrote: [...] >The classes do reference each other in several >of their class methods but I don't see any way this >package is cyclically referenced by the standard packages. >It appears that this circular reference amongst my packages >is upsetting the Package>>#hasCyclicPrerequisities: algorithm. I had this recently. FWIW, there have been two things that have cured the problem at different times: 1) Uninstalling the Tools+ evaluation that I had installed shortly before the problems started. There did *seem* to be a cyclic dependency detected by #hasCyclicPrerequisites between Tools+ and the development packages (something to do with a toolbar button I think), but I'm not sure why this was affecting my package. It may be a red herring. 2) Adding all occurrences of publishedAspectsOfInstances in my package's classes to the "must strip" category. Cheers, -- Jason Shannon http://www.araxis.com |
In reply to this post by John Small
John,
> Why can't I save the package to PAC format? Just in case you missed this (I did until someone mentioned it!), the PackageBrowser's prerequisites tab tree has a context menu, "Show Status Icons". If you turn this on then the branch(es) of the tree that have circularities are indicated by a red cross. I can't say it has always pointed me straight at the problem, a little deduction is usually needed as well, but it might give a pointer. Regards Ian |
In reply to this post by Jason Shannon
Jason,
> 1) Uninstalling the Tools+ evaluation that I had installed shortly > before the problems started. There did *seem* to be a cyclic > dependency detected by #hasCyclicPrerequisites between Tools+ and the > development packages (something to do with a toolbar button I think), > but I'm not sure why this was affecting my package. It may be a red > herring. One for the FAQ: there *is* a cyclic dependency between Tools+ and the development system packages; if your own packages depend on the development system (e.g. via a reference to Aspect) then this will affect your packages. To save your packages, the dependency can be removed (temporarily) by evaluating the following: SmalltalkSystem current deactivateSSWTools. Package manager resetPrerequisites This will unhook the Tools+ enhancements from the standard browsers (the cause of the cyclic dependency), allowing you to save. The tools can be reactivated with: SmalltalkSystem current activateSSWTools ...I'll look into automating this behaviour for the next release. Regards, John Aspinall Solutions Software |
Free forum by Nabble | Edit this page |