lsegal / barracuda

Barracuda is a Ruby wrapper library for the OpenCL architecture.
http://gnuu.org
MIT License
114 stars 16 forks source link

Complete runtime failure on Ruby 1.9.2 + workaround. #3

Closed preston closed 12 years ago

preston commented 13 years ago

The v1.3 gem will install but NOT run with 1.9.2 on OS X Snow Leopard, however, when I clone the source, `cd ext; make distclean; ruby extconf; make', all is well. Not sure why exactly, but maybe it's because the binaries are actually committed to the repo? It's that's the case, this is failing for everyone on Ruby 1.9

lsegal commented 13 years ago

No binaries are in the repo that I can see. In any case, that wouldn't cause it to fail.

It is however very possible that the gem is not compatible with 1.9.2. It was never tested under that environment.

lsegal commented 13 years ago

I see the problem, method_missing sends a symbol as the method name in 1.9.2, it used to send a String. the C code is treating the method name as a string. That's a fairly easy change.

preston commented 13 years ago

Ah, cool cool. :)

danielschonfeld commented 13 years ago

Was wondering if a patch has been applied to the source here on github or what should I change in my local copy to get it to work?

What env did you test on?

Thank you!!

mjbellantoni commented 13 years ago

It looks like the code has been updated but the gem has not.

preston commented 13 years ago

@lsegal

Would you mind releasing a new build with this fix in it? Would appreciate it. :)

ChrisLundquist commented 12 years ago

Running On Lion I see this working with Ruby 1.9.2 and Ruby 1.9.3, getting few warnings with 1.9.3

$ which ruby /Users/clundquist/.rvm/rubies/ruby-1.9.3-p0/bin/ruby $ ruby extconf.rb creating Makefile Chriss-MacBook-Pro:ext clundquist$ make compiling barracuda.c barracuda.c: In function ‘array_data_type_get’: barracuda.c:129: warning: ISO C90 forbids mixed declarations and code barracuda.c: In function ‘type_to_native’: barracuda.c:194: warning: implicit conversion shortens 64-bit value into a 32-bit value barracuda.c: In function ‘buffer_dirty’: barracuda.c:307: warning: comparison between signed and unsigned barracuda.c: In function ‘print_buffer’: barracuda.c:351: warning: comparison between signed and unsigned barracuda.c: In function ‘buffer_write’: barracuda.c:370: warning: implicit conversion shortens 64-bit value into a 32-bit value barracuda.c: In function ‘buffer_read’: barracuda.c:398: warning: implicit conversion shortens 64-bit value into a 32-bit value barracuda.c: In function ‘program_method_missing’: barracuda.c:558: warning: comparison between signed and unsigned linking shared-object barracuda.bundle Chriss-MacBook-Pro:ext clundquist$ rake (in /Users/clundquist/code/ruby/barracuda) rake/gempackagetask is deprecated. Use rubygems/package_task instead cd ext && ruby extconf.rb creating Makefile cd ext && make linking shared-object barracuda.bundle Run options:

Running tests:

.........................................

Finished tests in 0.025377s, 1615.6362 tests/s, 2324.9399 assertions/s.

41 tests, 59 assertions, 0 failures, 0 errors, 0 skips


$ which ruby /Users/clundquist/.rvm/rubies/ruby-1.9.2-p290/bin/ruby Chriss-MacBook-Pro:ext clundquist$ ruby extconf.rb creating Makefile Chriss-MacBook-Pro:ext clundquist$ rake test (in /Users/clundquist/code/ruby/barracuda) rake/gempackagetask is deprecated. Use rubygems/package_task instead cd ext && ruby extconf.rb creating Makefile cd ext && make /usr/bin/gcc-4.2 -dynamic -bundle -o barracuda.bundle barracuda.o -L. -L/Users/clundquist/.rvm/rubies/ruby-1.9.2-p290/lib -L. -framework OpenCL -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace -lruby.1.9.1 -lpthread -ldl -lobjc Loaded suite /Users/clundquist/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/rake_test_loader Started ......................................... Finished in 0.021876 seconds.

41 tests, 59 assertions, 0 failures, 0 errors, 0 skips

Looks like a new version has been pushed out

$ gem list -r barracuda

* REMOTE GEMS *

barracuda (1.3)

Closing issue unless there is something I have over looked here.