diff -aurp scheme48-1.8.orig/c/unix/socket.c scheme48-1.8/c/unix/socket.c
--- scheme48-1.8.orig/c/unix/socket.c	2008-01-14 15:06:41.000000000 +0800
+++ scheme48-1.8/c/unix/socket.c	2009-12-30 13:01:03.000000000 +0800
@@ -29,6 +29,10 @@
 /* Henry Cejtin says that 5 is the largest safe number for this. */
 #define	LISTEN_QUEUE_SIZE	5
 
+#ifndef h_addr
+  #define h_addr  h_addr_list[0]
+#endif
+
 extern void		s48_init_socket(void);
 static s48_value	s48_socket(s48_value udp_p, s48_value input_p),
 			s48_bind(s48_value socket_channel, s48_value number),
