mixtli / net-snmp

ruby library for snmp. uses ffi to connect to net-snmp libs
MIT License
28 stars 14 forks source link

Installs, but fails to work on Mac OS X Yosemite #10

Open zealot2007 opened 9 years ago

zealot2007 commented 9 years ago

ruby 2.1.2 net-snmp 0.2.5 libnetsnmp.25.dylib snmpd version 5.6

Trace $ ruby -e "require 'net-snmp'" --verbose /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/nice-ffi-0.4/lib/nice-ffi/library.rb:142: warning: shadowing outer local variable - args /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/ffi-inliner-0.2.4/lib/ffi-inliner/inliner.rb:3:in <module:Inliner>': Use RbConfig instead of obsolete and deprecated Config. /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/ffi-inliner-0.2.4/lib/ffi-inliner/inliner.rb:3:inmodule:Inliner': Use RbConfig instead of obsolete and deprecated Config. /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/ffi-inliner-0.2.4/lib/ffi-inliner/inliner.rb:9:in <module:Inliner>': Use RbConfig instead of obsolete and deprecated Config. /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.6/lib/ffi/library.rb:263: warning: method redefined; discarding old snmp_select_info /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.6/lib/ffi/library.rb:263: warning: method redefined; discarding old snmp_select_info /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.6/lib/ffi/library.rb:263: warning: method redefined; discarding old snmp_read /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/ffi-1.9.6/lib/ffi/library.rb:263: warning: method redefined; discarding old snmp_read /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/ffi-inliner-0.2.4/lib/ffi-inliner/inliner.rb:297: warning: File.exists? is a deprecated name, use File.exist? instead /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/ffi-inliner-0.2.4/lib/ffi-inliner/inliner.rb:89:inldshared': Use RbConfig instead of obsolete and deprecated Config. /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/ffi-inliner-0.2.4/lib/ffi-inliner/inliner.rb:46: warning: File.exists? is a deprecated name, use File.exist? instead /Users/chenlei/.rvm/gems/ruby-2.1.2/gems/net-snmp-0.2.3/lib/net/snmp/oid.rb:34: warning: method redefined; discarding old oid dyld: lazy symbol binding failed: Symbol not found: _netsnmp_ds_set_boolean Referenced from: /usr/lib/libnetsnmp.dylib Expected in: flat namespace

dyld: Symbol not found: _netsnmp_ds_set_boolean Referenced from: /usr/lib/libnetsnmp.dylib Expected in: flat namespace

Trace/BPT trap: 5

I noticed that we have never attach_function :netsnmp_ds_set_boolean. It is just called in other methods. I google the issue, but no valid results.

zealot2007 commented 9 years ago

~/workload/net-snmp(master)$ nm /usr/lib/libnetsnmp.25.dylib | grep netsnmp_ds_set 00000000000476bd T _netsnmp_ds_set_boolean 00000000000479fa T _netsnmp_ds_set_int 0000000000047b31 T _netsnmp_ds_set_string 0000000000047cbe T _netsnmp_ds_set_void

jfelchner commented 9 years ago

@mixtli same problem here. Yosemite.

zealot2007 commented 9 years ago

I have to build net-snmp library from source myself, and fix it.

jfelchner commented 9 years ago

@zealot2007 what do you do to fix it?

jonkgrimes commented 9 years ago

@zealot2007 I'd love to know how you fixed it as well.

dao-nguyen-vu commented 6 years ago

Same issue with os x el capitan, I got error:

dyld: lazy symbol binding failed: Symbol not found: _netsnmp_ds_set_boolean Referenced from: /usr/lib/libnetsnmp.dylib Expected in: flat namespace

dyld: Symbol not found: _netsnmp_ds_set_boolean Referenced from: /usr/lib/libnetsnmp.dylib Expected in: flat namespace

Thanks in advance any help