Skip to content

Instantly share code, notes, and snippets.

@conradwt
Created December 15, 2009 21:55
Show Gist options
  • Save conradwt/257344 to your computer and use it in GitHub Desktop.
Save conradwt/257344 to your computer and use it in GitHub Desktop.
libiconv verification
$ ls -al /opt/local/lib/libiconv.dylib
lrw-r--r-- 1 root admin 16 Nov 11 08:54 /opt/local/lib/libiconv.dylib -> libiconv.2.dylib
$ which iconv
/opt/local/bin/iconv
$ iconv --version
iconv (GNU libiconv 1.13)
Copyright (C) 2000-2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Bruno Haible.
$ maglev-ruby -e 'require "iconv"'
RpWarning: parenthesize argument(s) for future version
RpWarning: parenthesize argument(s) for future version
error , Unable to find FFI 'iconv_open' in: ,
during /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/iconv.rb
ERROR 2023, Error, 'Unable to find FFI ''iconv_open'' in: ' (NotFoundError)
$ maglev-irb
/Users/conradwt/.irbrc
/opt/local/lib/.irbrc
/opt/local/lib/irb.rc
/opt/local/lib/_irbrc
/opt/local/lib/$irbrc
irb(main):001:0> require 'iconv'
RpWarning: parenthesize argument(s) for future version
RpWarning: parenthesize argument(s) for future version
error , Unable to find FFI 'iconv_open' in: ,
during /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/iconv.rb
NotFoundError: Unable to find FFI 'iconv_open' in:
from /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/irb.rb:190:in `eval_input'
from /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/irb.rb:287:in `signal_status'
from /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/irb.rb:288:in `signal_status'
from /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/irb.rb:161:in `eval_input'
from /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/irb/ruby-lex.rb:266:in `each_top_level_statement'
from /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/irb/ruby-lex.rb:280:in `each_top_level_statement'
from /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/irb/ruby-lex.rb:241:in `each_top_level_statement'
from /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/irb/ruby-lex.rb:238:in `each_top_level_statement'
from /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/irb.rb:160:in `eval_input'
from /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/irb.rb:77:in `start'
from /Users/conradwt/maglev.dir/projects/maglev/lib/ruby/1.8/irb.rb:76:in `start'
from /Users/conradwt/maglev.dir/projects/maglev/bin/maglev-irb:27
Maybe IRB bug!!
$ ruby -v
ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-darwin10]
$ ruby -e 'require "iconv"'
$ irb
irb(main):001:0> require 'iconv'
=> true
irb(main):002:0> conv = Iconv.new( "UTF-16", "ISO-8859-1" )
=> #<Iconv:0x00000100bf7a78>
irb(main):003:0> result = conv.iconv( "hello" )
=> "\xFE\xFF\x00h\x00e\x00l\x00l\x00o"
irb(main):004:0> result << conv.iconv( nil )
=> "\xFE\xFF\x00h\x00e\x00l\x00l\x00o"
irb(main):005:0> result.dump
=> "\"\\xFE\\xFF\\x00h\\x00e\\x00l\\x00l\\x00o\""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment