[ruby-core:116866] [Ruby master Bug#20283] Build failed since Ruby 3.2.3 if Xcode.app was renamed to space contained name.
From:
"katei (Yuta Saito) via ruby-core" <ruby-core@...>
Date:
2024-02-20 07:14:17 UTC
List:
ruby-core #116866
Issue #20283 has been updated by katei (Yuta Saito).
It looks like 3.2.2 also has the same issue. I think the root problem is the below error, which indicates `$(MAKE)` are not quoted in Makefiles
```
ruby-3.3.0$ make srcs-enc V=1
file2lastrev.rb: does not seem to be under a vcs: .
/Users/katei/.rbenv/shims/ruby --disable=gems ./tool/file2lastrev.rb -q --revision.h --srcdir="." --output=revision.h --timestamp=.revision.time
revision.h unchanged
clang -E -DRUBY_EXPORT -I. -I.ext/include/arm64-darwin22 -I./include -I. -I./prism -I./enc/unicode/15.0.0 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT "./version.c" | \
/Users/katei/.rbenv/shims/ruby --disable=gems "./tool/generic_erb.rb" -o arm64-darwin22-fake.rb "./template/fake.rb.in" \
i=- srcdir="." BASERUBY="/Users/katei/.rbenv/shims/ruby --disable=gems" \
LIBPATHENV="DYLD_LIBRARY_PATH" PRELOADENV="DYLD_INSERT_LIBRARIES" LIBRUBY_SO="libruby.3.3.dylib.3.3.0"
arm64-darwin22-fake.rb updated
/Users/katei/.rbenv/shims/ruby --disable=gems -r./arm64-darwin22-fake ./enc/make_encmake.rb \
--builtin-encs="enc/ascii.o enc/us_ascii.o enc/unicode.o enc/utf_8.o" --builtin-transes="enc/trans/newline.o" --module enc.mk
"/Applications/Xcode 15.2.app/Contents/Developer/usr/bin/make" -f enc.mk V="1" UNICODE_HDR_DIR="./enc/unicode/15.0.0" RUBY="/Users/katei/.rbenv/shims/ruby --disable=gems " MINIRUBY="/Users/katei/.rbenv/shims/ruby --disable=gems " srcs
make[1]: Nothing to be done for `srcs'.
```
----------------------------------------
Bug #20283: Build failed since Ruby 3.2.3 if Xcode.app was renamed to space contained name.
https://bugs.ruby-lang.org/issues/20283#change-106901
* Author: watson1978 (Shizuo Fujita)
* Status: Open
* Priority: Normal
* Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
When I renamed Xcode.app to space contained name (like `Xcode 15.2.0.app`), then I met build error with Ruby 3.2.3 and Ruby 3.3.0.
(Ruby 3.2.2 can be built with successfully.)
## How to reproduce
```
$ sudo mv /Applications/Xcode.app '/Applications/Xcode 15.2.app'
$ sudo xcode-select --switch '/Applications/Xcode 15.2.app'
$ tar xzf ruby-3.2.3.tar.xz
$ cd ruby-3.2.3
$ ./configure
$ make V=1
:
clang -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 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -fPIE -I. -I.ext/include/arm64-darwin23 -I./include -I. -I./enc/unicode/15.0.0 -I/opt/homebrew/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -o dmyenc.o -c dmyenc.c
rustc --crate-name=yjit --crate-type=staticlib --edition=2021 -g -C opt-level=3 -C overflow-checks=on '--out-dir=/Users/watson/prj/ruby-3.2.3/yjit/target/release/' ./yjit/src/lib.rs
touch yjit/target/release/libyjit.a
clang -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 -L. -L/opt/homebrew/lib -fstack-protector-strong -fstack-protector-strong -Wl,-pie -framework CoreFoundation main.o dmydln.o miniinit.o dmyext.o array.o ast.o bignum.o class.o compar.o compile.o complex.o cont.o debug.o debug_counter.o dir.o dln_find.o encoding.o enum.o enumerator.o error.o eval.o file.o gc.o hash.o inits.o io.o io_buffer.o iseq.o load.o marshal.o math.o memory_view.o mjit.o mjit_c.o node.o numeric.o object.o p
ack.o parse.o proc.o process.o ractor.o random.o range.o rational.o re.o regcomp.o regenc.o regerror.o regexec.o regparse.o regsyntax.o ruby.o scheduler.o shape.o signal.o sprintf.o st.o strftime.o string.o struct.o symbol.o thread.o time.o transcode.o transient_heap.o util.o variable.o version.o vm.o vm_backtrace.o vm_dump.o vm_sync.o vm_trace.o yjit.o coroutine/arm64/Context.o enc/ascii.o enc/us_ascii.o enc/unicode.o enc/utf_8.o enc/trans/newline.o explicit_bzero.o setproctitle.o addr2line.o yjit/target/release/libyjit.a -lgmp -ldl -lobjc -lpthread -lpthread -o miniruby
ld: warning: ignoring duplicate libraries: '-lpthread'
ld: Undefined symbols:
_coroutine_transfer, referenced from:
_fiber_setcontext in cont.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
## Environment
- Apple M1 Max
- macOS 14.3.1
- clang 15.0.0 (clang-1500.1.0.2.5)
- rustc 1.75.0
## Note
This problem occurs on Intel Mac and Apple M1 Mac both.
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/