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