2006年1月24日火曜日

Subversion-Ruby Binding on cygwin

rubyからsubversionのrepositoryを操作できたらとても幸せなのです。
Ruby on Railsで作っている自分用のプロジェクト管理システムが作れてしまうので。

cygwin上で、subversion-1.3.0のソースから
make swig-rb を試してみるも、undefined_referenceではまる…。

失敗したけれど、そこに行き着くまでかなり紆余曲折があったので、
インストールメモを残します。

cygwin, setup.exeで、libdb42と、apr, apr-util, libtool, neonをインストール。
> ./configure --with-apr=/usr --with-apr-util=/usr --with-neon=/usr
> make swig-rb

cd subversion/bindings/swig/ruby/libsvn_swig_ruby && /bin/sh /home/leo/local/src/subversion-1.3.0/libtool --tag=CC --silent --mode=link gcc -g -O2 -rpath /usr/local/lib -o libsvn_swig_ruby-1.la -no-undefined swigutil_rb.lo ../../../../../subversion/libsvn_client/libsvn_client-1.la ../../../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../../../subversion/libsvn_subr/libsvn_subr-1.la ../../../../../subversion/libsvn_delta/libsvn_delta-1.la /usr/lib/libaprutil-0.la -lgdbm -ldb-4.2 -lexpat -liconv /usr/lib/libapr-0.la -lresolv -lcrypt
Creating library file: .libs/libsvn_swig_ruby-1.dll.a
.libs/swigutil_rb.o: In function `SWIG_Ruby_NewPointerObj':
/home/leo/local/src/subversion-1.3.0/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg:582: undefined reference to `_rb_data_object_alloc'
/home/leo/local/src/subversion-1.3.0/subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg:584: undefined reference to `_rb_str_new2'

(その後延々と続く)

subversion - python bindingは簡単にmakeできました。
ためしに、Fedora Core4上で、make swig-rb してみたも、簡単に成功。

新しいものが好きのなのに、cygwinを使っているのは時間的なデメリットが大きいと痛感した1日。
configureスクリプトの動作も遅いし。

VMWareを使うほどでもないので、ローカルでXサーバーを動かして、リモートのlinuxマシン上で作業するのが吉。

0 件のコメント:

License

Creative Commons LicenseLeo's Chronicle by Taro L. Saito is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.