[ruby-core:123738] [Ruby Bug#21676] make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop.
Issue #21676 has been reported by duerst (Martin Dürst). ---------------------------------------- Bug #21676: make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop. https://bugs.ruby-lang.org/issues/21676 * Author: duerst (Martin Dürst) * Status: Open * Target version: 4.0 * ruby -v: ruby 3.5.0dev (2025-11-02T10:22:22Z master bd51b20c50) +PRISM [x86_64-linux] last_commit=minor code allignment (related to bug 21559) * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- When I tried to compile Ruby with make up; make, I got the message in the Subject. This seems similar to bug #19481, but the various kinds of advice (`./config.status` or `./autogen.sh; ./configure; make`) given there didn't solve the problem. The last part of the output is ``` compiling memory_view.c linking shared-object -test-/memory_view.so make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/memory_view' make[2]: Entering directory '/home/duerst/34ruby/ext/-test-/method' compiling arity.c compiling init.c linking shared-object -test-/method.so make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/method' make[2]: Entering directory '/home/duerst/34ruby/ext/-test-/namespace/yay1' make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop. make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/namespace/yay1' make[1]: *** [exts.mk:197: ext/-test-/namespace/yay1/all] Error 2 make[1]: Leaving directory '/home/duerst/34ruby' make: *** [uncommon.mk:351: build-ext] Error 2 ``` -- https://bugs.ruby-lang.org/
Issue #21676 has been updated by nagachika (Tomoyuki Chikanaga). I just run into the same problem now. In my environment, removing `exts.mk` in build directory resolved the issue. ---------------------------------------- Bug #21676: make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop. https://bugs.ruby-lang.org/issues/21676#change-115133 * Author: duerst (Martin Dürst) * Status: Open * Target version: 4.0 * ruby -v: ruby 3.5.0dev (2025-11-02T10:22:22Z master bd51b20c50) +PRISM [x86_64-linux] last_commit=minor code allignment (related to bug 21559) * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- When I tried to compile Ruby with make up; make, I got the message in the Subject. This seems similar to bug #19481, but the various kinds of advice (`./config.status` or `./autogen.sh; ./configure; make`) given there didn't solve the problem. The last part of the output is ``` compiling memory_view.c linking shared-object -test-/memory_view.so make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/memory_view' make[2]: Entering directory '/home/duerst/34ruby/ext/-test-/method' compiling arity.c compiling init.c linking shared-object -test-/method.so make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/method' make[2]: Entering directory '/home/duerst/34ruby/ext/-test-/namespace/yay1' make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop. make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/namespace/yay1' make[1]: *** [exts.mk:197: ext/-test-/namespace/yay1/all] Error 2 make[1]: Leaving directory '/home/duerst/34ruby' make: *** [uncommon.mk:351: build-ext] Error 2 ``` -- https://bugs.ruby-lang.org/
Issue #21676 has been updated by nobu (Nobuyoshi Nakada). Yes, it is a known issue. It is possible to avoid by comparing the extension library path list each time, but moving extension library path is quite rare case. ---------------------------------------- Bug #21676: make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop. https://bugs.ruby-lang.org/issues/21676#change-115134 * Author: duerst (Martin Dürst) * Status: Open * Target version: 4.0 * ruby -v: ruby 3.5.0dev (2025-11-02T10:22:22Z master bd51b20c50) +PRISM [x86_64-linux] last_commit=minor code allignment (related to bug 21559) * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- When I tried to compile Ruby with make up; make, I got the message in the Subject. This seems similar to bug #19481, but the various kinds of advice (`./config.status` or `./autogen.sh; ./configure; make`) given there didn't solve the problem. The last part of the output is ``` compiling memory_view.c linking shared-object -test-/memory_view.so make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/memory_view' make[2]: Entering directory '/home/duerst/34ruby/ext/-test-/method' compiling arity.c compiling init.c linking shared-object -test-/method.so make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/method' make[2]: Entering directory '/home/duerst/34ruby/ext/-test-/namespace/yay1' make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop. make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/namespace/yay1' make[1]: *** [exts.mk:197: ext/-test-/namespace/yay1/all] Error 2 make[1]: Leaving directory '/home/duerst/34ruby' make: *** [uncommon.mk:351: build-ext] Error 2 ``` -- https://bugs.ruby-lang.org/
Issue #21676 has been updated by duerst (Martin Dürst). nagachika (Tomoyuki Chikanaga) wrote in #note-1:
In my environment, removing `exts.mk` in build directory resolved the issue.
This worked for me, too. ---------------------------------------- Bug #21676: make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop. https://bugs.ruby-lang.org/issues/21676#change-115142 * Author: duerst (Martin Dürst) * Status: Open * Target version: 4.0 * ruby -v: ruby 3.5.0dev (2025-11-02T10:22:22Z master bd51b20c50) +PRISM [x86_64-linux] last_commit=minor code allignment (related to bug 21559) * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- When I tried to compile Ruby with make up; make, I got the message in the Subject. This seems similar to bug #19481, but the various kinds of advice (`./config.status` or `./autogen.sh; ./configure; make`) given there didn't solve the problem. The last part of the output is ``` compiling memory_view.c linking shared-object -test-/memory_view.so make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/memory_view' make[2]: Entering directory '/home/duerst/34ruby/ext/-test-/method' compiling arity.c compiling init.c linking shared-object -test-/method.so make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/method' make[2]: Entering directory '/home/duerst/34ruby/ext/-test-/namespace/yay1' make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop. make[2]: Leaving directory '/home/duerst/34ruby/ext/-test-/namespace/yay1' make[1]: *** [exts.mk:197: ext/-test-/namespace/yay1/all] Error 2 make[1]: Leaving directory '/home/duerst/34ruby' make: *** [uncommon.mk:351: build-ext] Error 2 ``` -- https://bugs.ruby-lang.org/
participants (3)
-
duerst -
nagachika (Tomoyuki Chikanaga) -
nobu (Nobuyoshi Nakada)