The MiscKit

Questions About Building and Installing the MiscKit


Home
Hot News
About
Press Kit
FAQ
Documentation
Download
Resources
Services
Search
Credits
Links
Contact Us


Most recent update was on February 12, 1996. If you'd like to submit something to the FAQ or update something in the FAQ, feel free to contact Don Yacktman or use our handy FAQ submission form.

How much disk space do I need to build and use the MiscKit?

For version 1.7.1, the installed MiscKit will require approximately 25 megabytes if compiled quad-fat. You will need about 11 megabytes in addition to that if you plan to keep the source code. In order to do a successful quad fat "make install" from the MiscKit distribution, you will need nearly 70 megabytes free on your hard disk. A quad-fat "make examples" requires nearly 80 more megabytes than "make install"! It is recommended that you only build the examples you are interested in, and then only after having installed the MiscKit and done a "make distclean" to remove extraneous object files. It would be wise to strip the examples after building them, as well.

How long will it take?

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's still plenty of time to go out for a nice and relaxed business lunch while the kit compiles, though, as not even the fastest Pentium box can build the kit in under an hour as far as we are aware.

Which warnings during the full MiscKit build can I ignore?

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.

What should I do if the build fails with something having to do with dependencies?

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 problem can even crop up if NeXT's make is in your path first, since /bin/sh's path is the one used by make, and not /bin/csh (or whatever shell you use). 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 to "make".

I don't have root access. Can I install the MiscKit somewhere besides /LocalDeveloper?

If you cannot get root permission on the machine you are using, you can still install and use the MiscKit, but you have to be a little resourceful. First, edit the Makefile at the top level of the MiscKit and change the ROOT variable to the full path to your home directory. The MiscKit will then install into your account in ~/LocalDeveloper. Now, if you so desire, you can move the files around to where you prefer them to be, if it is different from where they are installed. (If you move the files, the uninstall target will not work, however.) In order to use the headers and libraries from their locations within your account, you will need to add a line like this to your project's Makefile.preamble so that the compiler can find them:

OTHER_CFLAGS = -I~/LocalDeveloper/Headers
OTHER_LDFLAGS = -L~/LocalDeveloper/Libraries

Be sure to replace the "~" with the full path to your home directory since Makefiles do not properly evaluate the "~".

The Makefile wants to run /usr/lib/arch_tool but I don't have it. What can I do?

NEXTSTEP 3.0 is missing the /usr/lib/arch_tool program used by the Makefiles. You will find a bare-bones replacement in Examples/arch_tool that you can install in /usr/lib to get you by. It doesn't do everything arch_tool does, but it is good enough to get the MiscKit to compile. If you try to build the MiscKit, then the Makefile will attempt to install this program for you. It will fail if you are not root and you can't write to /usr/lib. Please do not use this program to replace the arch_tool provided with later NEXTSTEP releases! Note that the top level Makefile will attempt to install this for you if it is missing from your system, but will fail if you cannot write to /usr/lib.

What is "tool.make" and where is it?

If you are using a version of NEXTSTEP prior to 3.2, your Project Builder lacks the "tool" project type. The MiscKit requires this type of project in order to build, so you need to create or find a copy of tool.make to install on your system. A version of "tool.make" is provided with the MiscKit. The top level Makefile will attempt to install it in the Makefiles directory for you, but will fail if you can't write to /NextDeveloper/Makefiles/app. (Installing as root gets around this problem.) There is no guarantee that this "tool.make" will work without the rest of the 3.2 Makefiles...but one can hope. This is the best we've been able to do, and no one has complained yet about difficulties. Since most people have 3.2 or 3.3 now anyway, it isn't that big a problem.

The Makefiles want to run libtool but I don't have it. What can I do?

"libtool" is new with NEXTSTEP 3.1 and later. It replaces "ar", allowing fat libraries to be built. The MiscKit attempts to compile a fat library. Because of this, you need to:
  • Edit the Makefile in the top level so that all the XXX_ARCH flags are commented out.
  • Change ARCHIVER from "libtool" to "ar" in the MiscKit's Makefiles/lib/Makefile.programs.
  • Edit the Makefile.postamble in each palette project to use "ar" instead of "libtool".
If you miss a modification, the compilation will fail at some point during the process. If that happens, fix the problem and start over. The Makefiles in the palette projects have lines with "ar" and "libtool" in them, already configured. All you have to do is comment one out and uncomment the right one for your system.

How do I get around build troubles that can happen with the MiscTableScroll palette?

The MiscTableScroll palette is unusual because it contains C++ code mixed with Objective-C. If you are still using a NEXTSTEP beta (3.3 betas, especially), you may have troubles with the C++ support. Symptoms include troubles with the #include of new.h and complaints about the symbol "catch". Please note that none of these problems occur under NEXTSTEP 3.2 or 3.3.

If you are still using a beta you should really switch to a proper 3.2 or 3.3 installation. However, if that is not an option, there is a workaround. In the file Makefile.preamble for the palette project, add this line:


OTHER_CFLAGS = -Werror -Wwrite-strings -I. -I/NextDeveloper/Headers/g++ -Dcatch=_catch

The two additions to the end of the existing OTHER_CFLAGS should fix the problem.



Questions? Contact our webmaster via email to don@misckit.com. .