ruby : zlib バインド

trac.hdknr.com

deb1:~/ruby-1.8.6# pwd
/root/ruby-1.8.6
deb1:~/ruby-1.8.6# cd ext/zlib/
deb1:~/ruby-1.8.6/ext/zlib# apt-get install zlib1g-dev -y
Reading package lists… Done
Building dependency tree… Done
zlib1g-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
deb1:~/ruby-1.8.6/ext/zlib# ruby extconf.rb
checking for deflateReset() in -lz… yes
checking for zlib.h… yes
checking for kind of operating system… Unix
creating Makefile
deb1:~/ruby-1.8.6/ext/zlib# make
make: Nothing to be done for `all’.
deb1:~/ruby-1.8.6/ext/zlib# make install
/usr/bin/install -c -m 0755 zlib.so /usr/local/lib/ruby/site_ruby/1.8/i686-linux
/usr/bin/install: cannot stat `zlib.so’: No such file or directory
make: *** [/usr/local/lib/ruby/site_ruby/1.8/i686-linux/zlib.so] Error deb1:~/ruby-1.8.6/ext/zlib# locate zlib.so
/usr/lib/python2.4/lib-dynload/zlib.so
/usr/lib/python2.5/lib-dynload/zlib.so
/usr/lib/ruby/1.8/i486-linux/zlib.so
/usr/lib/ruby/1.9/i486-linux/zlib.so

packageの残骸?
パッケージを削除してrubyの./configure, make ,make install からやり直し。

deb1:~/ruby-1.8.6/ext/zlib# make
gcc -shared -rdynamic -Wl,-export-dynamic   -L’/usr/local/lib’ -Wl,-R’/usr/local/lib’ -o zlib.so zlib.o  -lz  -ldl -lcrypt -lm   -lc
deb1:~/ruby-1.8.6/ext/zlib# make install
/usr/bin/install -c -m 0755 zlib.so /usr/local/lib/ruby/site_ruby/1.8/i686-linux

deb1:~# cd

deb1:~# irb
irb(main):001:0> require 'zlib'
=> true irb(main):002:0> Zlib::GzipWriter.open('hdknr.gz') do |gz|
irb(main):003:1* gz.puts 'I am hdknr.com'
irb(main):004:1> end => nil irb(main):005:0> deb1:~# zcat hdknr.gz I am hdknr.com deb1:~# irb irb(main):001:0> require 'zlib'
=> true irb(main):002:0> Zlib::GzipReader.open('hdknr.gz') do |gz|
irb(main):003:1* p gz.read
irb(main):004:1> end "I am hdknr.com\n"
=> nil

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中