Thanks again for the help. I set CPATH as you instructed (set CPATH=C:\Ruby192\lib\ruby\1.9.1\i386-mingw32\i386-mingw32)
There are no more errors on files not being found! Progress is much appreciated :) Now I am just met with a number of build errors. I think (but am not sure) most of the warnings can be ignored? I've pasted the output of the 'dmake' command below: ------------------------------------------------ C:/Perl/site/bin/gcc.exe -c -IC:/Ruby192/lib/ruby/1.9.1/i386-mingw32 -DNDEBUG -DWI N32 -D_CONSOLE -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICI T_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T -DHASATTRIBUTE -fno-st rict-aliasing -mms-bitfields -O2 -DVERSION=\"0.02\" -DXS_VERSION=\"0.02\" "-IC:\Perl\lib\CORE" -UEXPOSE_PERL -DCREATE_RUBY -UCREATE_PERL Ruby.c In file included from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/defines.h:205, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:74, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby.h:32, from rb2pl.h:13, from Ruby.xs:26: C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:110:1: warning: "WNOHANG" redefin ed In file included from C:/Perl/lib/CORE/win32thread.h:4, from C:/Perl/lib/CORE/perl.h:2852, from rb2pl.h:5, from Ruby.xs:26: C:/Perl/lib/CORE/win32.h:190:1: warning: this is the location of the previous definit ion In file included from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/defines.h:205, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:74, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby.h:32, from rb2pl.h:13, from Ruby.xs:26: C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:179:1: warning: "stat" redefined In file included from rb2pl.h:6, from Ruby.xs:26: C:/Perl/lib/CORE/XSUB.h:531:1: warning: this is the location of the previous definiti on In file included from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/defines.h:205, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:74, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby.h:32, from rb2pl.h:13, from Ruby.xs:26: C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:197:1: warning: "access" redefine d In file included from rb2pl.h:6, from Ruby.xs:26: C:/Perl/lib/CORE/XSUB.h:513:1: warning: this is the location of the previous definiti on In file included from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/defines.h:205, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:74, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby.h:32, from rb2pl.h:13, from Ruby.xs:26: C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:227: error: syntax error before ' *' token C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:268: error: conflicting types for 'chown' C:/Perl/lib/CORE/win32.h:328: error: previous declaration of 'chown' was here C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:268: error: conflicting types for 'chown' C:/Perl/lib/CORE/win32.h:328: error: previous declaration of 'chown' was here C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:270: error: syntax error before ' *' token C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:272: error: syntax error before ' *' token C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:276: error: syntax error before ' *' token In file included from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/defines.h:205, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:74, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby.h:32, from rb2pl.h:13, from Ruby.xs:26: C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:417: error: syntax error before ' *' token In file included from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/defines.h:205, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:74, from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby.h:32, from rb2pl.h:13, from Ruby.xs:26: C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:418:30: macro "PerlProc_getuid" p assed 1 arguments, but takes just 0 C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:419:31: macro "PerlProc_geteuid" passed 1 arguments, but takes just 0 C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:420:30: macro "PerlProc_getgid" p assed 1 arguments, but takes just 0 C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:421:31: macro "PerlProc_getegid" passed 1 arguments, but takes just 0 C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:422: error: syntax error before ' *' token C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:423: error: syntax error before ' *' token C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:662: error: redefinition of `stru ct tms' Ruby.xs: In function `my_iter_it': Ruby.xs:128: warning: passing arg 1 of `strlen' makes pointer from integer without a cast Ruby.xs:128: warning: passing arg 1 of `rb_intern2' makes pointer from integer withou t a cast Ruby.xs:128: warning: passing arg 1 of `rb_intern' makes pointer from integer without a cast Ruby.xs:129: error: structure has no member named `len' Ruby.xs:129: error: structure has no member named `ptr' Ruby.xs: In function `my_error_wrapper': Ruby.xs:272: warning: assignment makes pointer from integer without a cast Ruby.xs:288: error: structure has no member named `len' Ruby.xs:288: error: structure has no member named `ptr' Ruby.xs: In function `my_eval_string': Ruby.xs:301: warning: passing arg 1 of `rb_eval_string' makes pointer from integer wi thout a cast Ruby.xs: In function `call_ruby_method': Ruby.xs:329: warning: passing arg 1 of `strlen' makes pointer from integer without a cast Ruby.xs:329: warning: passing arg 1 of `rb_intern2' makes pointer from integer withou t a cast Ruby.xs:329: warning: passing arg 1 of `rb_intern' makes pointer from integer without a cast dmake.exe: Error code 129, while making 'Ruby.o' -----Original Message----- From: Sisyphus > A similar set of files exists, and seems to be what the build is > looking for, under: 'C:/Ruby192/lib/ruby/1.9.1/i386-mingw32', as in: > C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby.h > C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/* > C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/i386-mingw32/ruby/config.h Does the path to that last file really have that "doubling up" of "i386-mingw32/" ? If not, then I would have expected <ruby/config.h> to be locatable because of the "-IC:/Ruby192/lib/ruby/1.9.1/i386-mingw32" that was set in the Makefile.PL. But if that path (as you've given it) *is* correct then, on further reflection, I would probably just set the CPATH environment variable to "C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/i386-mingw32" : set CPATH=C:\Ruby192\lib\ruby\1.9.1\i386-mingw32\i386-mingw32 With CPATH set to that, C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/i386-mingw32/ruby/config.h should be found when "#include <ruby/config.h>" is encountered. You can even add extra paths to the CPATH env var (use ; as the delimiter - same as for the PATH environment variable) if the need arises. Cheers, Rob