Project

General

Profile

Actions

Bug #18054

closed

No rule to make target 'thread_fd_close.c', needed by 'thread_fd_close.o'

Added by duerst (Martin Dürst) over 2 years ago. Updated over 2 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 3.1.0dev (2021-06-03T06:59:33Z master 7e14762159) [x86_64-linux]
[ruby-core:104723]

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 and Makefile 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.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0