http://www.perlmonks.org?node_id=947629

technojosh has asked for the wisdom of the Perl Monks concerning the following question:

I come to the monks for assistance. I have a large bit of Perl code and modules I have written for our company. We are now going to try to get a bit of work somebody has done in a ruby class, integrated into my project. My ideal solution for this is some flavor of inline ruby, or otherwise accessing the ruby interpreter on the system to interact with a ruby class from within our Perl code.

I am on Windows 7, using AS Perl 5.14 (x86)
CPAN: Ruby

I get the makefile to run successfully. It's output:

C:\Ruby-0.07>perl makefile.pl Set up gcc environment - 3.4.5 (mingw-vista special r3) Using C:\Ruby192\bin\ruby.exe ruby 1.9.2p290 (2011-07-09) [i386-mingw32] ruby-inc: C:/Ruby192/lib/ruby/1.9.1/i386-mingw32 libdir : C:/Ruby192/lib ruby-lib: -lmsvcrt-ruby191 ruby-hdr: C:/Ruby192/include/ruby-1.9.1 Note (probably harmless): No library found for -lmsvcrt-ruby191 Writing Makefile for Ruby Writing MYMETA.yml

When I run dmake, most of the output seems benign but there are two errors near the end and it does not complete successfully:

cp Ruby/intern.h blib\lib\Ruby\intern.h cp lib/Ruby/PerlObject.pod blib\lib\Ruby\PerlObject.pod cp Ruby/oniguruma.h blib\lib\Ruby\oniguruma.h cp Ruby/regex.h blib\lib\Ruby\regex.h cp lib/Ruby/Inspect.pm blib\lib\Ruby\Inspect.pm cp Ruby/util.h blib\lib\Ruby\util.h cp Ruby/backward/rubyio.h blib\lib\Ruby\backward\rubyio.h cp Ruby/io.h blib\lib\Ruby\io.h cp Ruby/version.h blib\lib\Ruby\version.h cp Ruby/backward/util.h blib\lib\Ruby\backward\util.h cp Ruby/dl.h blib\lib\Ruby\dl.h cp Ruby/vm.h blib\lib\Ruby\vm.h cp Ruby/encoding.h blib\lib\Ruby\encoding.h cp Ruby/backward/rubysig.h blib\lib\Ruby\backward\rubysig.h cp lib/Ruby/Run.pm blib\lib\Ruby\Run.pm cp lib/Ruby.pod blib\lib\Ruby.pod cp Ruby/backward/st.h blib\lib\Ruby\backward\st.h cp lib/Ruby/Object.pod blib\lib\Ruby\Object.pod cp Ruby/win32.h blib\lib\Ruby\win32.h cp Ruby/defines.h blib\lib\Ruby\defines.h cp Ruby/re.h blib\lib\Ruby\re.h cp Ruby/st.h blib\lib\Ruby\st.h cp Ruby/missing.h blib\lib\Ruby\missing.h cp Ruby/digest.h blib\lib\Ruby\digest.h cp lib/Ruby.pm blib\lib\Ruby.pm cp lib/Ruby/literal.pm blib\lib\Ruby\literal.pm cp Ruby/ruby.h blib\lib\Ruby\ruby.h cp lib/Ruby/autobox.pm blib\lib\Ruby\autobox.pm C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp -typemap C:\Perl\lib +\ExtUtils\typem ap -typemap typemap Ruby.xs > Ruby.xsc && C:\Perl\bin\perl.exe -MExtU +tils::Command - e "mv" -- Ruby.xsc Ruby.c C:/Perl/site/bin/gcc.exe -c -I"C:/Ruby192/lib/ruby/1.9.1/i386-mingw32 +" -I"C:/Ruby192 /include/ruby-1.9.1" -I"C:/Ruby192/include/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 -DHASAT +TRIBUTE -fno-st rict-aliasing -mms-bitfields -O2 -DVERSION=\"0.07\" -DXS_V +ERSION=\"0.07\" "-IC:\Perl\lib\CORE" -DMY_RUBY_VERSION="1.9.2" -DMY_RUBY_VERSION_IN +T="192" Ruby.c In file included from C:/Perl/lib/CORE/win32thread.h:4, from C:/Perl/lib/CORE/perl.h:2852, from ruby_pm.h:88, from Ruby.xs:5: C:/Perl/lib/CORE/win32.h:263: warning: useless keyword or type name in + empty declarat ion C:/Perl/lib/CORE/win32.h:263: warning: empty declaration C:/Perl/lib/CORE/win32.h:264: warning: useless keyword or type name in + empty declarat ion C:/Perl/lib/CORE/win32.h:264: warning: empty declaration In file included from ruby_pm.h:89, from Ruby.xs:5: C:/Perl/lib/CORE/XSUB.h:513:1: warning: "access" redefined In file included from C:/Ruby192/include/ruby-1.9.1/ruby/defines.h:205 +, from C:/Ruby192/include/ruby-1.9.1/ruby/ruby.h:74, from ruby_pm.h:19, from Ruby.xs:5: C:/Ruby192/include/ruby-1.9.1/ruby/win32.h:197:1: warning: this is the + location of th e previous definition In file included from ruby_pm.h:89, from Ruby.xs:5: C:/Perl/lib/CORE/XSUB.h:520:1: warning: "fstat" redefined In file included from C:/Ruby192/include/ruby-1.9.1/ruby/defines.h:205 +, from C:/Ruby192/include/ruby-1.9.1/ruby/ruby.h:74, from ruby_pm.h:19, from Ruby.xs:5: C:/Ruby192/include/ruby-1.9.1/ruby/win32.h:180:1: warning: this is the + location of th e previous definition Ruby.xs: In function `XS_Ruby__Object_FIRSTKEY': Ruby.xs:472: warning: use of conditional expressions as lvalues is dep +recated Ruby.xs:472: error: invalid lvalue in assignment Ruby.xs: In function `XS_Ruby__Object_NEXTKEY': Ruby.xs:494: warning: use of conditional expressions as lvalues is dep +recated Ruby.xs:494: warning: use of compound expressions as lvalues is deprec +ated Ruby.xs:494: error: invalid lvalue in decrement dmake.exe: Error code 129, while making 'Ruby.o'

What I am wondering, is if this is really just a code issue in the XS module? Does anyone else ever use this, or any brand of "inline ruby" style code? I have looked at the Inline::Ruby module, but it has even more issues with installation than this one does! (and the docs say it has only been tested on linux)

At the end of the day, I'm really just looking for a simple implementation of inline ruby, so if there is a better/easier/different but equal alternative that I am not considering please suggest it!

Replies are listed 'Best First'.
Re: trouble installing CPAN module "Ruby"
by Anonymous Monk on Jan 13, 2012 at 01:52 UTC
A reply falls below the community's threshold of quality. You may see it by logging in.