To compile the library: 1. cd src 2. make -f portMakefile the portMakefile may need some slight modifications (compiler name etc.) A number of examples will be created. The examples with names starting with man_ are described in the manual. Some of the examples (sorting a file) waits for data on the standard input, so don't forget to pipe in a file! For description of this library, read the manual page. WARNING! The LL linked list library is not fully portable. There is a remote possibility that the the LL.h file (in the inc directory) will have to be modified on your particular system to avoid alignment problems. As is, the LL library runs on SUNs (cc or gcc compiled) and on a DEC (mips & gcc) (and many others). If you successfully run all the example programs provided, you're almost certainly OK. Otherwise follow this procedure: To adjust it for your particular system, the size of s_list structure defined in LL.h must be made equal to (or a multiple of) the largest required aligment. Typically, the type with the strictest alignment is double. It's rare to encounter alignment of more then 16 (usually it's 2,4 or 8). The required alignment of variables of a certain type depend on both the machine architecture and the compiler, so be carefull. The required alignments can be found by checking output of malloc. However, if you 1/ make sure that sizeof(s_list) is 8 or 16 2/ test LL on doubles and experience no problems you're most unlikely to have problems. To change sizeof(s_list) either modify the number of chars in the 'padding' field of s_list or change the type of 'size' to obtain the right size. If the right size of s_list would be obtained without any padding chars, comment out the field. If any problems are encountered, mail g.matas@ee.surrey.ac.uk With Regards George Matas