鶏肉がいいよね。

プログラミングのハマりどころメモ

Ruby1.9のSubversionバインディング

Subversion1.7系はまだrubyバインディングがサポートされていないようで、仕方なく1.6系のrubyバインディングRuby1.9に対応させます。Ruby1.9はインストール済み前提

********************************
 << SVN Ruby binding >>
********************************
if you can't install "libsvn-ruby1.9" by apt-get , you need to install svn bindings manually.
1. Install SWIG
* Get source version "2.0.4".
  http://www.swig.org/download.html
  $ tar xvzf swig-2.0.4.tar.gz
  $ cd swig-2.0.4
  $ ./configure --with-ruby=/usr/bin/ruby --prefix=/usr
  $ make 
  $ make install 
  
2. Install Subversion Binding Ruby.
* Get source code version "1.6.17".
  http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz
  $ tar xvzf subversion-1.6.17.tar.gz
  $ cd subversion-1.6.17
  $ ./configure RUBY=/usr/bin/ruby --prefix=/usr
  $ make swig-rb
  ... 
  if you got this error, you need to edit source "swigutil_rb.c". 
	[Error]
	subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c:1601: error: ‘ruby_errinfo’ undeclared (first use in this function)
	subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c:1601: error: (Each undeclared identifier is reported only once
	subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c:1601: error: for each function it appears in.)
	make: *** [subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.lo] Error 1
	
	[modify]
	-   1602                                      ruby_errinfo,
	+   1602                                      rb_errinfo(),
  Retry make.
  $ make swig-rb
  Install 
  $ make install-swig-rb

SWIGをRuby1.9用にコンパイルし、Subversionのソースからバインディングをコンパイルしてインストールの流れです。