I am having a lot of trouble getting Inline::Ruby to install on Win32...I've
tried going through CPAN shell, as well as simply downloading it and trying to
work through the errors myself. I am willing to work through most of the
debugging if I can get somebody with a little knowledge of the Inline::* stuff
to get me started.
More specifics:
Just trying to install from cpan, I get the error "Could not find the ruby
interpreter on your PATH"
This was easy to fix, by manually correcting the Makefile.pl as such:
#-----ORIGINAL---------
#for $p (split /$Config{path_sep}/, $ENV{PATH}) {
# $p =~ s/^~/$ENV{HOME}/;
# $p .= "/ruby";
# push @rubies, { path => $p } if -f $p && -x $p;
#}
#------EDIT----------------
push @rubies, {path=>'C:/Ruby192/bin/ruby.exe'};
------------------------------
Then I can run
perl Makefile.pl
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Found 1 ruby executables on your PATH.
1. C:/Ruby192/bin/ruby.exe
Use which? [1] 1
Using C:/Ruby192/bin/ruby.exe
Using these settings:
Extra Libs: -lshell32 -lws2_32
Ruby Lib: -LC:/Ruby192/lib -lmsvcrt-ruby191.dll
Includes: -IC:/Ruby192/lib/ruby/1.9.1/i386-mingw32
Extra Flags: none (perl Makefile.PL --help for details)
Checking if your kit is complete...
Looks good
Writing Makefile for Inline::Ruby
Writing MYMETA.yml
Ok, so far so good. Now I run 'dmake' and everything falls apart. I am looking
for a little guidance on how to get this module to build for me? Below is the
output from dmake:
cp lib/Inline/Ruby.pod blib\lib\Inline\Ruby.pod
cp Ruby.pm blib\lib\Inline\Ruby.pm
C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp -typemap
C:\Perl\lib\ExtUtils\typem
ap Ruby.xs > Ruby.xsc && C:\Perl\bin\perl.exe -MExtUtils::Command -e "mv" --
Ruby.xs
c Ruby.c
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.h:32,
from rb2pl.h:13,
from Ruby.xs:26:
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:25:25: ruby/config.h: No
such file
or directory
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:192: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:226: error: syntax error
before "
rb_w32_pipe_exec"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:226: warning: data
definition has
no type or storage class
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:273: error: syntax error
before "
waitpid"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:273: error: syntax error
before "
int"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:273: warning: data
definition has
no type or storage class
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:274: error: syntax error
before "
rb_w32_spawn"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:274: warning: data
definition has
no type or storage class
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:275: error: syntax error
before "
rb_w32_aspawn"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:275: warning: data
definition has
no type or storage class
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:276: error: syntax error
before '
*' token
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:278: error: syntax error
before "
rb_w32_getpid"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:278: warning: data
definition has
no type or storage class
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:279: error: syntax error
before "
rb_w32_getppid"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:279: warning: data
definition has
no type or storage class
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:291: warning: "struct
stati64" de
clared inside parameter list
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:291: warning: its scope is
only t
his definition or declaration, which is probably not what you want
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:292: warning: "struct
stati64" de
clared inside parameter list
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:418: error: syntax error
before "
PerlProc_getuid"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:418: warning: data
definition has
no type or storage class
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:419: error: syntax error
before "
PerlProc_geteuid"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:419: warning: data
definition has
no type or storage class
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:420: error: syntax error
before "
PerlProc_getgid"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:420: warning: data
definition has
no type or storage class
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:421: error: syntax error
before "
PerlProc_getegid"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/win32.h:421: warning: data
definition has
no type or storage class
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'
In file included 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/ruby.h:107: error: `SIZEOF_INT'
undeclare
d here (not in a function)
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:108: error: `SIZEOF_LONG'
undeclar
ed here (not in a function)
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:112: error: `SIZEOF_VOIDP'
undecla
red here (not in a function)
In file included from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:1326,
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/missing.h:63: error: syntax error
before
'*' token
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/missing.h:75: error: syntax error
before
'*' token
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/missing.h:165: error: syntax error
before
"sizeof"
In file included from
C:/Perl/site/lib/auto/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../
../../include/varargs.h:6,
from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:27,
from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:1327,
from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby.h:32,
from rb2pl.h:13,
from Ruby.xs:26:
C:/Perl/site/lib/auto/MinGW/bin/../lib/gcc/mingw32/3.4.5/include/varargs.h:4:2:
#erro
r "GCC no longer implements <varargs.h>."
C:/Perl/site/lib/auto/MinGW/bin/../lib/gcc/mingw32/3.4.5/include/varargs.h:5:2:
#erro
r "Revise your code to use <stdarg.h>."
In file included from C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/ruby.h:1327,
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/intern.h:509: error: syntax error
before
"rb_pid_t"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:527: error: syntax error
before
"rb_fork"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:527: warning: data
definition ha
s no type or storage class
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:528: error: syntax error
before
"rb_fork_err"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:528: warning: data
definition ha
s no type or storage class
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:530: error: syntax error
before
"rb_waitpid"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:530: error: syntax error
before
"pid"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:530: warning: data
definition ha
s no type or storage class
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:531: error: syntax error
before
"pid"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:532: error: syntax error
before
"rb_spawn"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:532: warning: data
definition ha
s no type or storage class
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:533: error: syntax error
before
"rb_spawn_err"
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:533: warning: data
definition ha
s no type or storage class
C:/Ruby192/lib/ruby/1.9.1/i386-mingw32/ruby/intern.h:535: error: syntax error
before
"pid"
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'