Here are what IMO are the important warnings from FreeBSD-4.8, gcc version 2.95.4 20020320 gcc -fPIC -g -O2 -Wall -fno-defer-pop -fno-omit-frame-pointer -I. -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0/ext/dl -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR -I. -c dl.c dl.c: In function `rb_ary_to_ptr': dl.c:522: warning: `ptr' might be used uninitialized in this function [I reckon it should be initialised to NULL] gcc -fPIC -DHAVE_GETADDRINFO -DHAVE_SA_LEN -DHAVE_SOCKADDR_STORAGE -DHAVE_SIN_LEN -DINET6 -g -O2 -Wall -DENABLE_IPV6 -I. -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0/ext/socket -DHAVE_NETINET_TCP_H -DHAVE_NETINET_UDP_H -DHAVE_ST_MSG_CONTROL -DHAVE_GETADDRINFO -DHAVE_GETNAMEINFO -DHAVE_SYS_UN_H -DHAVE_SYS_UIO_H -DHAVE_SOCKET -DHAVE_GETHOSTNAME -c socket.c socket.c: In function `tcp_s_gethostbyname': socket.c:1095: warning: `size' might be used uninitialized in this function [fixed already I think] And here are some missing #include's, plus a couple of possible missing initialisations: gcc -g -O2 -Wall -I. -I. -c regex.c regex.c: In function `ruby_re_compile_pattern': regex.c:1472: warning: implicit declaration of function `rb_warn' gcc -fPIC -g -O2 -Wall -I. -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0/ext/pty -DHAVE_SETRESUID -DHAVE_LIBUTIL_H -DHAVE_OPENPTY -c pty.c pty.c: In function `pty_finalize_syswait': pty.c:304: warning: implicit declaration of function `rb_detach_process' gcc -fPIC -g -O2 -Wall -DREADLINE_40_OR_LATER -DREADLINE_21_OR_LATER -I. -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0/ext/readline -DHAVE_READLINE_READLINE_H -DHAVE_READLINE_HISTORY_H -DHAVE_RL_CLEANUP_AFTER_SIGNAL -c readline.c readline.c: In function `readline_readline': readline.c:51: warning: implicit declaration of function `isatty' gcc -fPIC -g -O2 -Wall -I. -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0/ext/syck -DHAVE_ST_H -c handler.c handler.c: In function `syck_add_transfer': handler.c:109: warning: implicit declaration of function `free' handler.c: In function `syck_xprivate': handler.c:125: warning: implicit declaration of function `malloc' handler.c:127: warning: implicit declaration of function `strcat' handler.c:128: warning: implicit declaration of function `strncat' gcc -fPIC -g -O2 -Wall -I. -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0/ext/syck -DHAVE_ST_H -c node.c node.c: In function `syck_alloc_node': node.c:20: warning: implicit declaration of function `malloc' node.c: In function `syck_free_node': node.c:35: warning: implicit declaration of function `free' node.c: In function `syck_str_blow_away_commas': node.c:124: warning: implicit declaration of function `memmove' node.c: In function `syck_map_add': node.c:163: warning: implicit declaration of function `realloc' gcc -fPIC -g -O2 -Wall -I. -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0/ext/syck -DHAVE_ST_H -c rubyext.c rubyext.c: In function `rb_syck_mktime': rubyext.c:160: warning: implicit declaration of function `isdigit' rubyext.c: In function `rb_syck_parse_handler': rubyext.c:237: warning: `v' might be used uninitialized in this function rubyext.c: In function `rb_syck_load_handler': rubyext.c:314: warning: `obj' might be used uninitialized in this function rubyext.c: In function `syck_loader_transfer': rubyext.c:861: warning: `domain' might be used uninitialized in this function rubyext.c: In function `syck_emitter_simple_write': rubyext.c:1135: warning: implicit declaration of function `syck_emitter_simple' gcc -fPIC -g -O2 -Wall -I. -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0/ext/syck -DHAVE_ST_H -c syck.c syck.c: In function `syck_strndup': syck.c:35: warning: implicit declaration of function `malloc' syck.c: In function `syck_free_parser': syck.c:244: warning: implicit declaration of function `free' syck.c: In function `syck_parser_add_level': syck.c:359: warning: implicit declaration of function `realloc' syck.c: In function `syck_parse': syck.c:486: warning: implicit declaration of function `yyparse' gcc -fPIC -g -O2 -Wall -I. -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0 -I/v/build/ruby/ruby-1.8.0/ext/syck -DHAVE_ST_H -c emitter.c emitter.c: In function `syck_new_emitter': emitter.c:30: warning: implicit declaration of function `malloc' emitter.c: In function `syck_st_free_anchors': emitter.c:58: warning: implicit declaration of function `free' emitter.c: In function `syck_emitter_flush': emitter.c:174: warning: unknown conversion type character `Y' in format [this last one has also been fixed already I think] Regards, Brian.