diff -urN spooles.orig/I2Ohash/src/util.c spooles/I2Ohash/src/util.c
--- spooles.orig/I2Ohash/src/util.c	1998-05-31 00:45:12.000000000 +0200
+++ spooles/I2Ohash/src/util.c	2018-04-28 16:30:36.000000000 +0200
@@ -39,7 +39,9 @@
 */
 loc1 = (key1 + 1) % hashtable->nlist ;
 loc2 = (key2 + 1) % hashtable->nlist ;
-loc  = (loc1*loc2) % hashtable->nlist ;
+/*loc  = (loc1*loc2) % hashtable->nlist ;*/
+long int loc3  = (long int)loc1*(long int)loc2 % hashtable->nlist ;
+loc=(int)loc3;
 #if MYDEBUG > 0
 fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %d", loc1, loc2, loc) ;
 fflush(stdout) ;
@@ -158,7 +160,9 @@
 #endif
 loc1 = (key1 + 1) % hashtable->nlist ;
 loc2 = (key2 + 1) % hashtable->nlist ;
-loc  = (loc1*loc2) % hashtable->nlist ;
+/*loc  = (loc1*loc2) % hashtable->nlist ;*/
+long int loc3  = (long int)loc1*(long int)loc2 % hashtable->nlist ;
+loc=(int)loc3;
 #if MYDEBUG > 0
 fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %d", loc1, loc2, loc) ;
 fflush(stdout) ;
@@ -229,7 +233,9 @@
 }
 loc1 = (key1 + 1) % hashtable->nlist ;
 loc2 = (key2 + 1) % hashtable->nlist ;
-loc  = (loc1*loc2) % hashtable->nlist ;
+/*loc  = (loc1*loc2) % hashtable->nlist ;*/
+long int loc3  = (long int)loc1*(long int)loc2 % hashtable->nlist ;
+loc=(int)loc3;
 /*
    ---------------------------------------------------
    find the location of the first (key1,key2,*) triple
diff -urN spooles.orig/Make.inc spooles/Make.inc
--- spooles.orig/Make.inc	1999-01-18 22:48:55.000000000 +0100
+++ spooles/Make.inc	2018-07-18 09:19:56.914938400 +0200
@@ -11,8 +11,8 @@
 #
 # for solaris
 #
-# CC = gcc
-  CC = /usr/lang-4.0/bin/cc
+ CC = gcc
+#  CC = /usr/bin/cc
 #
 # for sgi
 #
@@ -28,7 +28,7 @@
 # 
 # OPTLEVEL = 
 # OPTLEVEL = -g -v
-  OPTLEVEL = -O
+  OPTLEVEL = -O2
 # OPTLEVEL = -xO5 -v
 # OPTLEVEL = -O3
 # OPTLEVEL = -O4
diff -urN spooles.orig/makefile spooles/makefile
--- spooles.orig/makefile	1999-01-25 21:39:39.000000000 +0100
+++ spooles/makefile	2020-10-22 12:05:51.323598400 +0200
@@ -124,7 +124,7 @@
 	cd ZV               ; make lib
 	cd misc             ; make lib
 #cd MPI              ; make lib
-#cd MT               ; make lib
+	cd MT               ; make lib
 
 global :
 	cd A2/src             ; make -f makeGlobalLib
@@ -166,4 +166,4 @@
 	cd ZV/src             ; make -f makeGlobalLib
 	cd misc/src           ; make -f makeGlobalLib
 #cd MPI/src            ; make -f makeGlobalLib
-#cd MT/src             ; make -f makeGlobalLib
+	cd MT/src             ; make -f makeGlobalLib
diff -urN spooles.orig/makeLib spooles/makeLib
--- spooles.orig/makeLib	1998-12-16 18:47:58.000000000 +0100
+++ spooles/makeLib	2020-10-22 12:19:36.928418200 +0200
@@ -70,8 +70,8 @@
 .c.o :
 	$(PURIFY) $(CC) -c $(CFLAGS) $*.c -o $(OBJ)_$*.o
 
-../../spooles.a : ${OBJ_FILES}
-	$(AR) $(ARFLAGS) ../../spooles.a $(OBJ)_*.o
+../../libspooles.a : ${OBJ_FILES}
+	$(AR) $(ARFLAGS) ../../libspooles.a $(OBJ)_*.o
 	rm -f $(OBJ)_*.o
-	$(RANLIB) ../../spooles.a
+	$(RANLIB) ../../libspooles.a
 EOF
diff -urN spooles.orig/MT/makefile spooles/MT/makefile
--- spooles.orig/MT/makefile	1998-12-17 16:47:48.000000000 +0100
+++ spooles/MT/makefile	2020-10-22 12:20:50.976540800 +0200
@@ -2,7 +2,7 @@
 	cd drivers ; make drivers
 
 lib :
-	cd src ; make spoolesMT.a
+	cd src ; make libspoolesMT.a
 
 clean :
 	cd src ; make clean
diff -urN spooles.orig/MT/src/makefile spooles/MT/src/makefile
--- spooles.orig/MT/src/makefile	1998-12-16 23:01:06.000000000 +0100
+++ spooles/MT/src/makefile	2020-10-22 12:20:36.988804900 +0200
@@ -2,7 +2,7 @@
  
 #-----------------------------------------------------------------------
  
-OBJ = spoolesMT
+OBJ = libspoolesMT
  
 $(OBJ).a : \
       $(OBJ).a(factorMT.o) \
diff -urN spooles.orig/Tree/src/makeGlobalLib spooles/Tree/src/makeGlobalLib
--- spooles.orig/Tree/src/makeGlobalLib	1998-09-17 21:26:35.000000000 +0200
+++ spooles/Tree/src/makeGlobalLib	2018-07-18 09:18:38.553600300 +0200
@@ -6,7 +6,7 @@
 
 SRC = basics.c \
       compress.c \
-      drawTree.c \
+      draw.c \
       init.c \
       instance.c \
       IO.c \
