6.1. Building the Library |
---|
The next step is to build the INN library. Do the following cd $inn/lib make libinn.a lint This will build the library and run lint on the sources, putting the output into a file named lint. If anything fails to compile, you probably made a configuration error, most likely in the ``C library differences'' section. In particular, double-check the SIGHANDLER and xxx_STYLE parameters. The lint output should be almost empty, except for a couple of ``possible pointer alignment problem'' warnings in dbz.c. If you get much more than this, then you probably did not define the POINTER or SIZE_T parameters properly. The NEW and RENEW macros in include/macros.h try to capture all the alignment problems associated with dynamic memory allocation. Also double-check the ALIGNPTR parameter and the CAST macro in include/macros.h. If lint reports any other problems, you should take the time to investigate them. Note that many lint libraries have errors. Also, you may get some problems in yaccpar in parsedate.y; these are most likely in the yacc-generated C code. If you get any of these, complain to your vendor. If you find a portability issue that I missed, please let me know. Once the library is built, you should install it in the top-level INN directory. To do this type ``make install'' while still in the lib directory. This will also compile a lint library for use in linting the programs in the other directories. Note that any time a change is made to the library you must do ``make install''; it is not enough to type ``make libinn.a''. This is a deliberate decision -- like a program, compiling a library is different from making it available for others to use, and installing a library should make it possible to run lint against it. |
[Source:"Installing InterNetNews 1.5.1"] [File-name:install.ms.1][Revision: 1.19 1996/11/10] [Copyright: 1991 Rich Salz, 1996 Internet Software Consortium] |