Copyright Ó 1993, 1994, 1995, 1996, 1997  Don Yacktman.  All Rights Reserved.  Version 1.10.0.

FAQ;¬Frequently Asked Questions
(and the answers)

There are several general topics available:
		
;FAQ.rtf;FAQ_OPENSTEP;¬OpenStep version of MiscKit
;FAQ.rtf;FAQ_build;¬Building and installing the MiscKit
;FAQ.rtf;FAQ_use;¬Using the MiscKit
;FAQ.rtf;FAQ_IB;¬Interface Builder and the MiscKit
;FAQ.rtf;FAQ_net;¬Internet Resources

		
FAQ_OPENSTEP;¬OPENSTEP version of MiscKit
		
Q:	Will the MiscKit be ported to OpenStep?
		
A:	Yes, it will.  In fact, the port is under way.  Those wishing to participate should do the following:
		
·	Obtain access to OpenStep for Mach PR1 or later
·	Contact Don Yacktman
		
	Volunteers may choose what they would like to port or have something assigned to them, whichever they prefer.  Please contact Don before you begin work so that nobody's work will be duplicated!
		
Q:	What will the MiscKit port to OpenStep look like?
	
A:	The OpenStep MiscKit will be numbered with a version number starting with ª2º.  So MiscKit 2.x.y will be OpenStep compliant.  The MiscKit charter states that major version changes are not expected to be source code compatible.  This will be the case hereÐin fact, we hope to redesign and improve all the objects in the kit.  Feedback to us on how the object interfaces could be improved is greatly welcomed.  Please note that these changes will mean that if you plan to port a MiscKit based application to OpenStep, the MiscKit 2.x.y may not be what you want to use.
	
	Those of you who have the OpenStep prerelease already know about ªframeworksº.  Basically a super bundle containing a dynamic library (analogous to a UNIX shlib or Windows DLL), header files, kit resources, and documentation.  This is what the MiscKit will become.  It will be consolidated quite a bit so that there are two main frameworksÐ one to parallel the Foundation Kit and a second to parallel the AppKit.  Obviously, the MiscFoundation will work independent of the AppKit and MiscGUIKit.  (We may change those names; those are just proposals.)  The MiscGUIKit requires the MiscFoundation, Foundation Kit, and AppKit, however.  There will probably be a few other conceptually different frameworks as well, such as the MiscGISKit.  For the most part, though, we are aiming for as few frameworks as possible.
	
	The OpenStep MiscKit API changes will have several goals:
	
·	Unify the MiscKit API
·	Clean up the MiscKit API
·	Reuse existing code in the NeXT kits as much as possible
·	Reuse more of the code in the MiscKit (this will increase inter-dependency between MiscKit objects, making it more coherent)
	
	In keeping with these ideas, many of the MiscKit 1.x.y objects will become categories of Foundation Kit objects.  The goal is to provide functionality that augments what is already provided with NeXT.  We do not intend to compete with NeXT.  (If we have a significantly better implementation of some object, then we'd still make that available, in a form that can -poseAs: the NeXT object to replace it.  However, this is not expected to happen and is rather unlikely.)
	
Q:	What if I need to port a MiscKit app to OpenStep?
	
A:	The smartest thing to do is to do some re-writing to make the app fit into the new API.  Unfortunately, we don't have the resources to make conversion scripts the way NeXT has done.  This means that you'll have to do a little bit more work.  If anyone would like to write conversion scripts, that would be welcome.
	
	As an interim solution, there will be a MiscKit 1 auxilliary release that is OpenStep compatible to allow compilation of MiscKit apps under OpenStep.  This was not originally planned, but the need for it to exist seems to be greater than originally anticipated.
	
Q:	What will happen to the NEXTSTEP MiscKit?
	
A:	The 1.x.y MiscKit will still be supported for at least a year after OpenStep ships.  Enhancements and bug fixes will still be added to the kit.  After that time, we may or may not decide to discontinue support, depending upon the MiscKit's user base (ie, how many have switched over to OpenStep...).
	
Q:	When will the OpenStep MiscKit be released?
	
A:	Expect to see it released early in 1996.  The first several releases will be very incomplete.  As such, all MiscKit versions 2.0.x will be considered alpha software.  The number will increase to MiscKit 2.1.x when the functionality in the OpenStep kit equals or exceeds that of the NEXTSTEP kit.  This is being done so that the work can be made available to a wide audience more quickly.  We hope this will help accelerate the development, debugging, and design of the OpenStep kit.

FAQ_build;¬Building and installing the MiscKit
		
Q:	How much disk space do I need to build and use the MiscKit?
	
A:	Look in the ;README.rtf;DiskSpace;¬README.rtf file for this information.

Q:	How long will it take?
	
A:	Doing a quad fat ªmake installº takes about five hours on 25MHz Motorola hardware, but that is worst case:  over a network and with only 16M RAM on a color machine.  A fast machine with plenty of RAM and local disk storage ought to be able to do the job in a couple of hours.  There is still plenty of time to go out for a nice and relaxed business lunch while the kit compiles, though!	
	
Q:	I don't have root access.  Can I install the MiscKit somewhere besides /LocalDeveloper?
	
A:	Yes.  The MiscKit ;Documentation/UsingTheMiscKit.rtfd;OtherRoot;¬documentation tells you how.

Q:	When I go to build, ªmakeº quits with problems mentioning something about problems making dependencies.  What do I do?
	
A:	If you use GNU make expect the build to fail with problems making dependencies (we don't yet know why GNU make has this problem or we'd just fix the Makefiles).  NeXT's make should work fine.  This can even crop up if NeXT's make is in your path first, since /bin/sh's path is the one used by make.  Steps have been taken to avoid this but they may not be enough.  If that is the case and the problem still crops up, you can avoid it by temporarily renaming GNU make to ªgnumakeº or somesuch.  Once the kit is built, you can change it back.

Q:	The Makefile wants to run /usr/lib/arch_tool or libtool or is looking for tool.make, but I am missing at least one of them.  What can I do?
	
A:	The MiscKit documentation has info about replacements for ;Documentation/UsingTheMiscKit.rtfd;arch_tool;¬arch_tool, ;Documentation/UsingTheMiscKit.rtfd;libtool1;¬libtool, and ;Documentation/UsingTheMiscKit.rtfd;tool.make;¬tool.make.

Q:	What warnings are expected when building the MiscKit?
	
A:	A proper MiscKit compilation should generate no warnings.  If any warnings occur there is definitely a problem.  Likewise, no compilation errors should be expected.  If any errors or warnings crop up, you should notify Don Yacktman so that the problem may be rectified in a future release.  If you can send in a fix, that is even better

Q:	Why isn't the MiscKit using the 3.3 ªlibraryº project type?
	
A:	Originally, it was intended to use Project Builder's new ªlibraryº project type to maintain the MiscKit.  However, Project Builder in 3.2 does not have this capability.  Since it is possible to use a hacked preamble/postamble file in conjunction with the 3.2 PB ªtoolº project, the MiscKit moved to Project Builder control in version 1.3.0.
	
	 Although 3.3 and 3.2 for hppa do have library projects, we are not yet using them.  This is to maintain compatibility with most of the NeXT communityÐwho are still running 3.2.  As such, the current ProjectBuilder projects are compatible with both 3.2 and 3.3 systems.

FAQ_use;¬Using the MiscKit
		
Q:	While linking my MiscKit based project, the MiscKit classes all turn up as undefined symbols.  Why?
		
A:	The MiscKit library is installed into /LocalDeveloper/Libraries which is not in the compiler's default search path for libraries.  To add this directory to the compiler's search path, add this line to your project's Makefile.preamble:
		
	OTHER_LDFLAGS = -L/LocalDeveloper/Libraries
		
	This will allow the linker to find the libraries.  Without this, your project will encounter errors during the linking phase of compilation. Another important thing to remember is to add the MiscKit library to the ªLibrariesº suitcase in Project Builder.  If you don't do that, then the compiler won't even try to find the libraries.  Remember that the MiscKit comes with libraries for the palette objects, so you should add a library to the suitcase for each palette that you use, as well.

Q:	Everything links but I get ªDoes not recognize selectorº messages and my program crashes.  Why?
		
A:	When you link against the MiscKit library, don't forget to use the -ObjC linker flag, which makes sure that all objects and categories are linked into your application.  If you forget, you will get runtime errors which will crash your application whenever calling a method located in a category.  If you are having trouble with the MiscString methods, this is the most likely reason for it.

Q:	I see directories in the MiscKit source that seem infinitely deep...what gives?
		
A:	There are many soft links in the MiscKit.  These are required mostly to allow the kit to be compiled in place before it is actually installed.  From the WorkSpace, this can make some directories seem to be infinitely deep.  The upshot of this is:
		
·	If you see something weird, it is probably there for a reason.
·	When copying the MiscKit be sure to duplicate the links rather than copying through them.
		
	From the WorkSpace, use the ªNew Linkº option when copying portions of the kit that have soft links.  Be forewarned that cp -r will copy through the links so you must to use tar to do copy portions of the MiscKit when using the command line.

Q:	Where did ExtendedApp go?
		
A:	ExtendedApp has been phased out.  If you still use it, revert to using the Application class.  All the methods previously defined by ExtendedApp are now in a category of Application and therefore available to any Application object instance or subclass.

FAQ_IB;¬Interface Builder and the MiscKit
		
Q:	I can't get the InterfaceBuilder in the beta release of EOF to load my palettes.  Why?  Is there a fix for this?
		
A:	There is a bug in the beta version of the Enterprise Objects version of Interface Builder.  This bug will prevent most third party palettesÐincluding those in the MiscKitÐto not load at all.  The workaround is to go into the palette.table file and comment out the ªExportImagesº line.  This well known bug is fixed in the IB from EOF 1.0, EOF 1.1, and NS Dev 3.3).

IBP;¬Q:	InterfaceBuilder crashes upon launch with the message ªUncaught exception:  NXReadOnlyString does not respond to -replaceWith:º after using some MiscKit palettes.
		
A:	Having too many palettes available seems to tickle a bug in 3.0 (either in NEXTSTEP or in Interface Builder).  If the combined path length of all your palettes is longer than 1024 characters, then restarting IB will give you the error:  ªUncaught exception:  NXReadOnlyString does not respond to -replaceWith:º.  For the time being, deleting the file ~/.NeXT/defaults.nibd before restarting IB will allow you to get IB up and running again.  Before quitting IB, you should unload the MiscKit palettes.  Note that moveing the palettes to a path with a shorter name will also help reduce the problem.  Try making a link like this:
		
	ln -s /LocalDeveloper/Palettes /p
		
	That should provide a short enough path to still allow loading of many palettes.  Later NEXTSTEP releases seem to have fixed this bug.  Some people have, however, reported this problem with NEXTSTEP releases 3.1 and 3.2 as well.

FAQ_net;¬Internet Resources
		
Q:	What mailing lists are available?
		
A:	There are three MiscKit-based mailing lists currently active.  They are the development list, where discussions take place about the development of various aspects of the MiscKit, the digest (of the development list), and the announcement list.  Subscribe by sending a message with ªsubscribeº in the subject line to one of:
		
·	misckit-request@listman.thoughtport.com
·	misckit-digest-request@listman.thoughtport.com
·	misckit-announce-request@listman.thoughtport.com
		
	Note that everything posted to announce is forwarded to the misckit discussion, and everything in the discussion is summarized by the digest.  For more information, check out the MiscKit web site.

Q:	What web sites are available?
		
A:	The official MiscKit home page is:  http://www.misckit.com/index.html

Q:	What ftp sites are available?
		
A:	The official MiscKit ftp site is:  ftp://ftp.thoughtport.com