Project

General

Profile

Actions

Bug #20495

closed

Running "make clean" deletes critical "coroutine/amd64/Context.S" file and causes "make" to fail

Added by fallwith (James Bunch) 6 months ago. Updated 6 months ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
3.4.0-preview1
[ruby-core:117921]

Description

When attempting to build v3.4.0-preview1 from source, we discovered that make clean will delete coroutine/amd64/Context.S, and then neither ./configure nor make will replace that file. When that file is missing, make will fail. coroutine/amd64/Context.S is included in the .tar.gz file, and make clean deletes it without leaving a solution for recreating it.

$ tar xzf ruby-3.4.0-preview1.tar.gz 
$ cd ruby-3.4.0-preview1
$ ll coroutine/amd64 
.rw-r--r--@ 2.2k 501 20 2024-05-15 21:54 Context.h
.rw-r--r--@ 1.1k 501 20 2024-05-15 21:54 Context.S

$ ./configure
$ make clean
$ ll coroutine/amd64
.rw-r--r--@ 2.2k 501 20 2024-05-15 21:54 Context.h

$ make

(lots of healthy output here)

compiling yjit.c
building Rust YJIT (release mode)
touch yjit/target/release/libyjit.a
partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
make: *** No rule to make target `coroutine/amd64/Context.S', needed by `coroutine/amd64/Context.o'.  Stop.
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0