reidmorrison / rubywmq

Ruby interface into WebSphere MQ
https://github.com/reidmorrison/rubywmq
Apache License 2.0
32 stars 24 forks source link

mac os support #16

Closed darkleaf closed 8 years ago

darkleaf commented 8 years ago

Hello! I use:

ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]

uname -a
Darwin iMac-Mihail.local 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root: xnu-2782.40.9 ~ 1 / RELEASE_X86_64 x86_64

Before install, I copy rpm content to /opt.

I was able to compile the extension, but it does not work. Here my dirty patch: https://github.com/darkleaf/rubywmq/commit/3ee243ade3bb9a70b1ce021f2c4856d6972b38da

Here is the test code:

require 'wmq'

qmgr_options = {
  transport_type: WMQ::MQXPT_TCP,
  q_mgr_name: 'SOME_STRING',
  channel_name: 'SOME_STRING',
  connection_name: 'SOME_STRING'
}

qq_options = {
  q_name: 'SOME_STRING',
  out_q_name: 'SOME_STRING',
  publish_data_q_name: 'SOME_STRING',
  publish_event_q_name: 'SOME_STRING'
}

WMQ::QueueManager.connect(qmgr_options) do |qmgr|
  qmgr.open_queue(q_name: qq_options[:q_name], :mode=>:browse) do |queue|
    queue.each do |message|
        p message
    end
  end
end

That is the output of the program:

ruby test.rb 
test.rb:18: [BUG] Segmentation fault at 0x000000d8c8c010
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]

-- Crash Report log information --------------------------------------------
   See Crash Report log file under the one of following:
     * ~/Library/Logs/CrashReporter
     * /Library/Logs/CrashReporter
     * ~/Library/Logs/DiagnosticReports
     * /Library/Logs/DiagnosticReports
   for more details.

-- Control frame information -----------------------------------------------
c:0003 p:---- s:0010 e:000009 CFUNC  :connect
c:0002 p:0074 s:0006 E:0015f8 EVAL   test.rb:18 [FINISH]
c:0001 p:0000 s:0002 E:000db8 TOP    [FINISH]

test.rb:18:in `<main>'
test.rb:18:in `connect'

-- C level backtrace information -------------------------------------------
0   ruby                                0x000000010666faab rb_vm_bugreport + 251
1   ruby                                0x00000001064f5eb5 report_bug + 357
2   ruby                                0x00000001064f61df rb_bug + 207
3   ruby                                0x00000001065e2dff sigsegv + 207
4   libsystem_platform.dylib            0x00007fff8b988f1a _sigtramp + 26
5   libsystem_c.dylib                   0x00007fff8fbe8fb2 strlen + 18
6   ???                                 0x00007fff59750bb0 0x0 + 140734694230960

-- Other runtime information -----------------------------------------------

* Loaded script: test.rb

* Loaded features:

    0 enumerator.so
    1 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/enc/encdb.bundle
    2 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/enc/trans/transdb.bundle
    3 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/rbconfig.rb
    4 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/compatibility.rb
    5 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/defaults.rb
    6 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/deprecate.rb
    7 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/errors.rb
    8 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/version.rb
    9 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/requirement.rb
   10 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/platform.rb
   11 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/basic_specification.rb
   12 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/stub_specification.rb
   13 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/util/stringio.rb
   14 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/specification.rb
   15 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/exceptions.rb
   16 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb
   17 thread.rb
   18 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/thread.bundle
   19 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/monitor.rb
   20 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb
   21 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems.rb
   22 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/path_support.rb
   23 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/dependency.rb
   24 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rubywmq-2.1.0/lib/wmq/version.rb
   25 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rubywmq-2.1.0/lib/wmq/constants.rb
   26 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rubywmq-2.1.0/lib/wmq/constants_admin.rb
   27 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rubywmq-2.1.0/lib/wmq/queue_manager.rb
   28 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rubywmq-2.1.0/lib/wmq/message.rb
   29 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-13/2.1.0-static/rubywmq-2.1.0/wmq/wmq.bundle
   30 /Users/m_kuzmin/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rubywmq-2.1.0/lib/wmq.rb

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

[1]    37197 abort      ruby test.rb
reidmorrison commented 8 years ago

Is WebSphere MQ now available for the Mac? Is it a server, or just the client?

darkleaf commented 8 years ago

Thanks for answer. I need the client.

reidmorrison commented 8 years ago

Can you send me the download link for the WebSphere MQ Mac OSX Client so that I can give it a try?

darkleaf commented 8 years ago

I use rpm and copy it content to /opt. May be it incorrect?

reidmorrison commented 8 years ago

No, we cannot copy binaries from Linux onto Mac. Closing since WebSphere MQ does not run on Mac OS X