[ruby-dev:46849] Re: [ANN] ruby 2.0.0-rc1 released

From: Takahiro Kambe <taca@...>
Date: 2013-01-08 15:05:25 UTC
List: ruby-dev #46849
In message <CAJeyfur+XrCvADYYZiMVd6BOwPBRskAEkQ4pfszUkggnr9x1xA@mail.gmail.com>
	on Tue, 8 Jan 2013 01:20:28 +0900,
	Yusuke Endoh <mame@tsg.ne.jp> wrote:
> Ruby 2.0.0-rc1 をリリースします。Ruby 2.0.0 の最初の release candidate です。
NetBSD 6.0_STABLE上で試してみましたが、buildに失敗します。

% uname -rsmp
NetBSD 6.0_STABLE amd64 x86_64
% sh configure --enable-shared
...
% make
...
compiling complex.c
linking shared-object mathn/complex.so
gcc: complex.o: No such file or directory
*** Error code 1

少し調べたところ、ext/mathn/complexに生成されたMakefileのVPATHに、

VPATH = $(srcdir):$(topdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby

と、$(topdir)が含まれている関係か、ここで実行したMakefileは、

1. トップディレクトリにcomplex.oを作成(既にあるcomplex.oを上書き)
2. complex.soのリンク時はext/mathn/complex/complex.oがなくて失敗

となっているようです。

VPATHに$(topdir)を含めるようになったのは、r37933で、

mkmf.rb: each_compile_rules

* lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for
  each VPATH elements.

というログで、これで何故$(topdir)を含めるようになったかはわかりません。
取り敢えず、以下のようにr37933の一部を戻すとbuild可能となりました。

--- lib/mkmf.rb.orig	2012-12-10 13:18:13.000000000 +0900
+++ lib/mkmf.rb	2013-01-08 14:46:06.000000000 +0900
@@ -2310,7 +2310,7 @@
     $LIBPATH = []
     $INSTALLFILES = []
     $NONINSTALLFILES = [/~\z/, /\A#.*#\z/, /\A\.#/, /\.bak\z/i, /\.orig\z/, /\.rej\z/, /\.l[ao]\z/, /\.o\z/]
-    $VPATH = %w[$(srcdir) $(topdir) $(arch_hdrdir)/ruby $(hdrdir)/ruby]
+    $VPATH = %w[$(srcdir) $(arch_hdrdir)/ruby $(hdrdir)/ruby]
 
     $objs = nil
     $srcs = nil


-- 
神戸 隆博 / Takahiro Kambe 

In This Thread