Bug #18054
closedNo rule to make target 'thread_fd_close.c', needed by 'thread_fd_close.o'
Description
When running make
on the newest master
checkout, I get the following error:
transdb.h unchanged
generating makefiles ext/configure-ext.mk
ext/configure-ext.mk unchanged
make[1]: Entering directory '/home/duerst/ruby3'
make[2]: Entering directory '/home/duerst/ruby3/ext/-test-/thread_fd_close'
make[2]: *** No rule to make target 'thread_fd_close.c', needed by 'thread_fd_close.o'. Stop.
make[2]: Leaving directory '/home/duerst/ruby3/ext/-test-/thread_fd_close'
make[1]: *** [exts.mk:195: ext/-test-/thread_fd_close/all] Error 2
make[1]: Leaving directory '/home/duerst/ruby3'
make: *** [uncommon.mk:301: build-ext] Error 2
This may (or may not) be related to https://github.com/ruby/ruby/commit/7564e066ff.
This is on an Ubuntu 20.04 on WSL2 on Windows 10.
Updated by nobu (Nobuyoshi Nakada) over 2 years ago
Do ext/-test-/thread_fd
directory and Makefile
there exist?
Probably make -C ext/-test-/thread_fd_close distclean
may help you.
Although configure-ext
should remove no longer existing directory but may have a bug for deeper paths.
Updated by duerst (Martin Dürst) over 2 years ago
(sorry this answer is late)
nobu (Nobuyoshi Nakada) wrote in #note-1:
Do
ext/-test-/thread_fd
directory andMakefile
there exist?
The directory exists, but the Makefile doesn't exist.
Probably
make -C ext/-test-/thread_fd_close distclean
may help you.
This says make: *** No rule to make target 'distclean'. Stop.
. It doesn't help, unfortunately.
Although
configure-ext
should remove no longer existing directory but may have a bug for deeper paths.
Do you mean ext/-test-/thread_fd_close
should no longer exist? Or something else?
Updated by nobu (Nobuyoshi Nakada) over 2 years ago
duerst (Martin Dürst) wrote in #note-2:
Do you mean
ext/-test-/thread_fd_close
should no longer exist? Or something else?
Yes,renamed as ext/-test-/thread_fd
.
You can remove the old directory, and ext/-test-/exts.mk
file.
Updated by duerst (Martin Dürst) over 2 years ago
nobu (Nobuyoshi Nakada) wrote in #note-3:
You can remove the old directory, and
ext/-test-/exts.mk
file.
Many thanks for your help. I removed both the directory and the file. Now I'm getting the following:
transdb.h unchanged
generating makefiles ext/configure-ext.mk
ext/configure-ext.mk unchanged
make[1]: Entering directory '/home/duerst/ruby3'
make[2]: Entering directory '/home/duerst/ruby3'
make[2]: *** ext/-test-/thread_fd_close: No such file or directory. Stop.
make[2]: Leaving directory '/home/duerst/ruby3'
make[1]: *** [exts.mk:195: ext/-test-/thread_fd_close/all] Error 2
make[1]: Leaving directory '/home/duerst/ruby3'
make: *** [uncommon.mk:301: build-ext] Error 2
Updated by Eregon (Benoit Daloze) over 2 years ago
make clean
is sometimes needed when building CRuby (correct C files dependencies is still a mess to this day, not CRuby-specific).
Would that help here?
Updated by nobu (Nobuyoshi Nakada) over 2 years ago
duerst (Martin Dürst) wrote in #note-4:
generating makefiles ext/configure-ext.mk ext/configure-ext.mk unchanged
This file should be updated, but actually wasn't.
Could you try again after removing that file?
Updated by duerst (Martin Dürst) over 2 years ago
- Status changed from Open to Closed
Eregon (Benoit Daloze) wrote in #note-5:
make clean
is sometimes needed when building CRuby (correct C files dependencies is still a mess to this day, not CRuby-specific).
Would that help here?
Thanks, that helped.