|
Re: Perl calling C calling Ruby (linking problem): msg#01211lang.ruby.general
>>>>> "P" == Peter Munro <peter.munro@xxxxxxxxxxxxxxxxxxxxx> writes: P> I'm running: P> Ruby 1.67 P> Perl 5.6.1 P> swig 1.3 Well there is a problem pigeon% ls a.pl* regdb.i ruby.i pigeon% pigeon% cat regdb.i %module regdb %{ #include "ruby.h" %} %include ruby.i pigeon% pigeon% cat ruby.i %{ static int initi = 0; %} %inline %{ int init(void) { if (!initi) { ruby_init(); ruby_init_loadpath(); initi = 1; } return 0; } char *runruby(char *c) { VALUE res; int error = 0; if (!initi) { init(); } res = rb_eval_string_protect(c, &error); if (error) { res = rb_gv_get("$!"); } res = rb_obj_as_string(res); return RSTRING(res)->ptr; } %} pigeon% swig was compiled with : ./configure --prefix=/home/ts/local/sw --enable-perl5 --with-ruby=/home/ts/local/r167/bin/ruby pigeon% ~/local/sw/bin/swig -version SWIG Version 1.3.14u-20020813-1606 Copyright (c) 1995-1998 University of Utah and the Regents of the University of California Copyright (c) 1998-2001 University of Chicago Compiled with CC pigeon% pigeon% perl -v This is perl, v5.6.1 built for i386-linux Copyright 1987-2001, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.com/, the Perl Home Page. pigeon% pigeon% ~/local/r167/bin/ruby -v ruby 1.6.7 (2002-03-01) [i686-linux] pigeon% pigeon% ~/local/sw/bin/swig -perl regdb.i pigeon% pigeon% gcc -c regdb_wrap.c -I/usr/lib/perl/5.6.1/CORE -Dbool=char -I/home/ts/local/r167/lib/ruby/1.6/i686-linux In file included from /home/ts/local/r167/lib/ruby/1.6/i686-linux/ruby.h:610, from regdb_wrap.c:515: /home/ts/local/r167/lib/ruby/1.6/i686-linux/intern.h:258: warning: `yyparse' redefined /usr/lib/perl/5.6.1/CORE/embed.h:756: warning: this is the location of the previous definition /home/ts/local/r167/lib/ruby/1.6/i686-linux/intern.h:259: warning: `yylex' redefined /usr/lib/perl/5.6.1/CORE/embed.h:755: warning: this is the location of the previous definition /home/ts/local/r167/lib/ruby/1.6/i686-linux/intern.h:260: warning: `yyerror' redefined /usr/lib/perl/5.6.1/CORE/embed.h:751: warning: this is the location of the previous definition pigeon% pigeon% ld -shared regdb_wrap.o -L/home/ts/local/r167/lib -lruby -ldl -lm -lcrypt -o regdb.so pigeon% pigeon% cat a.pl #!/usr/bin/perl -l use regdb; $res = regdb::runruby(" require 'digest/md5' Digest::MD5.new('hello') "); print $res; pigeon% pigeon% a.pl 5d41402abc4b2a76b9719d911017c592 pigeon% Guy Decoux
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: [OT] Programming practice question, Michael Campbell |
|---|---|
| Next by Date: | Re: ambiguity backtrack - accessors and persistent locals, Gavin Sinclair |
| Previous by Thread: | Re: Perl calling C calling Ruby (linking problem), Peter Munro |
| Next by Thread: | Re: Perl calling C calling Ruby (linking problem), Peter Munro |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |