LoginSignup
1
0

Ruby言語 (ruby/ruby) のビルド時に、`make miniruby`がこけた

Last updated at Posted at 2023-08-12

エラー詳細

以下どドキュメントに従い、ビルドしようとした。

ディレクトリ構成は以下。Rubyのコミットバージョンは、e1683b4

- workdir
   - ruby
      - build

workdir/ruby/build 配下で、以下を叩いた。

$ make miniruby V=1

file2lastrev.rb: Command failed with exit 128: git
	BASERUBY = /Users/daiki-kudo/.rbenv/shims/ruby --disable=gems
	CC = clang
	LD = ld
	LDSHARED = clang -dynamiclib
	CFLAGS = -fdeclspec -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wundef   -pipe 
	XCFLAGS = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -I. -I.ext/include/x86_64-darwin22 -I../include -I.. -I../enc/unicode/15.0.0 
	CPPFLAGS = -I/usr/local/opt/llvm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   
	DLDFLAGS = -L/usr/local/opt/llvm/lib -Wl,-multiply_defined,suppress -Wl,-undefined,dynamic_lookup -fstack-protector-strong -Wl,-pie -framework CoreFoundation  
	SOLIBS = -ldl -lobjc -lpthread 
	LANG = 
	LC_ALL = 
	LC_CTYPE = UTF-8
	MFLAGS = 
	RUSTC = rustc
	YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --edition=2021 -g -C lto=thin -C opt-level=3 -C overflow-checks=on '--out-dir=/Users/daiki-kudo/repos/ruby/ruby/build/yjit/target/release/' ../yjit/src/lib.rs
Homebrew clang version 16.0.6
Target: x86_64-apple-darwin22.1.0
Thread model: posix
InstalledDir: /usr/local/opt/llvm/bin
/Users/daiki-kudo/.rbenv/shims/ruby --disable=gems ../tool/file2lastrev.rb -q --revision.h --srcdir=".." --output=revision.h --timestamp=.revision.time
file2lastrev.rb: git rev-parse failed
  fatal: failed to expand user dir in: '~/.gitignore'
make: *** [.revision.time] Error 1

(短期的)解決方法

workdir/ruby/tool/lib/vcs.rbを以下のように書き換えた。

diff --git a/tool/lib/vcs.rb b/tool/lib/vcs.rb
index 8566d72349..0436c0665e 100644
--- a/tool/lib/vcs.rb
+++ b/tool/lib/vcs.rb
@@ -451,7 +451,9 @@ def cmd_pipe_at(srcdir, cmds, &block)
     end
 
     def cmd_read_at(srcdir, cmds)
-      result = without_gitconfig { IO.pread(*cmd_args(cmds, srcdir)) }
+      # result = without_gitconfig { IO.pread(*cmd_args(cmds, srcdir)) }
+      result = IO.pread(*cmd_args(cmds, srcdir))
+
       VCS.dump(result, "result: ") if debug?
       result
     end
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0