To see the problem, I've removed what is in ext :-)

uln% ls ext
Setup  aa/  extmk.rb
uln% 

uln% cat ext/Setup 
aa
uln% 

uln% cat ext/aa/aa.c
#include <ruby.h>

void Init_aa()
{
    rb_warn("Init_aa()");
}
uln% 

uln% ./configure > /dev/null
uln% 

uln% make > /dev/null 2>&1
uln% 

uln% ./ruby -ve 1
ruby 1.8.2 (2005-01-12) [x86_64-linux]
aa.so: warning: Init_aa()
-e:1: warning: useless use of a literal in void context
uln% 

 Now the problem

uln% make distclean
cleaning aa
make[1]: Entering directory `/opt/ts/ruby/r180/tmp/ruby/ext/aa'
gcc -g -O2  -I. -I../.. -I../../. -I../.././ext/aa   -c aa.c
ar cru aa.a aa.o
make[1]: Leaving directory `/opt/ts/ruby/r180/tmp/ruby/ext/aa'
uln% 


 See that it re-build aa.a with a `distclean' :-)

 Apparently 1.9 don't have the problem




Guy Decoux