2011-03-21 :-)
_ [NetBSD][ruby][pkgsrc][gmake]NetBSD/i386 で ruby-1.8.7-p334 で make が失敗した
% make -dA : *** Failed target: Makefile *** Failed command: { echo "all:; -@rm -f conftest.mk"; echo "conftest.mk: .force; @echo AUTO_REMAKE"; echo ".force:"; } > conftest.mk || exit ; make -f conftest.mk | grep '^AUTO_REMAKE$' >/dev/null 2>&1 || { echo "Makefile updated, restart."; exit 1; } *** Error code 1 Stop. make: stopped in /usr/pkgsrc/lang/ruby18-base/work/ruby-1.8.7-p334 Global:.ERROR_TARGET = Makefile Applying :@ to "" Modifier pattern: "v" Modifier pattern: "$v='${$v}' " Result of :@ is ""
Makefile のここの部分
$(MKFILES): config.status $(srcdir)/common.mk MAKE=$(MAKE) $(SHELL) ./config.status @{ \ echo "all:; -@rm -f conftest.mk"; \ echo "conftest.mk: .force; @echo AUTO_REMAKE"; \ echo ".force:"; \ } > conftest.mk || exit 1; \ $(MAKE) -f conftest.mk | grep '^AUTO_REMAKE$$' >/dev/null 2>&1 || \ { echo "Makefile updated, restart."; exit 1; }
Failed command を分割したらここが失敗してた。
make -f conftest.mk | grep '^AUTO_REMAKE$' >/dev/null 2>&1
conftest.mk の中身はこう
all:; -@rm -f conftest.mk conftest.mk: .force; @echo AUTO_REMAKE .force:
ubuntu で make する
% make -n -f conftest.mk AUTO_REMAKE rm -f conftest.mk
NetBSD で make する
% make -n -f conftest.mk rm -f conftest.mk
あー
gmake 使えっていう
文書 によると Chapter 22. Frequently Asked Questions - 22.2. What is the difference between MAKE, GMAKE and MAKE_PROGRAM? USE_TOOLS に += gmake しろと書いてあるので Makefile に追加
USE_TOOLS+= pax yacc gmake
これでおk
send-pr してみたら「再現しないんだけど? NetBSD アップデートしろ」と返答がきたので current にしようとしたら起動しなくなった('A`) ので 5.1 にしてみた。再現しない。すんませんでした。
[ツッコミを入れる]