[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:07211] ruby1.2-dev



rubyのパッケージ構造が変わって、拡張モジュールのコンパイルが
うまくいかなくなりました。拡張モジュールを書くのは初めてでよ
くわかっていないし、私のミスかなという気もするので、BTSに投
げる前に、とりあえずここで尋ねます。

具体的には、
--- extconf.rb
require 'mkmf'
$CFLAGS = "-I/usr/lib/ruby1.2/i386-linux"

have_library("sufary","sa_openfiles")
have_header("sufary.h")
if have_func("sa_openfiles")
  create_makefile("sufary")
end
---

という状況でmakeをかけると

make: *** No rule to make target `/usr/lib/ruby/i386-linux/ruby.h', needed by `sufary.o'.  Stop.

と怒られます。1.2がつく前のパッケージのときはうまくコンパイ
ルできていました。もちろん、ruby.hのインクルードはパスをつけ
ずに、#include "ruby.h" としています。mkmf.rbがうまく動いて
いないのではないかという気がします。
# rbconfig.rb が変?

ところで、ruby.hに/usr/includeからリンクを張っておくのはよく
ないでしょうか? 上記のような-Iを書くのって、なんか変な気が
するのですけど…。それとも、rbconfig.rbあたりの記述によって、
-Iなしでコンパイルできればいいのですが。
# このあたり、よくわかっていません。

-- 
川村 尚生