Bug #18623
closed`make runnable` does not work
Description
When I try make runnable
to be able to run individual tests with .\ruby test/runner.rb ...
, I get the error below. It is important to solve this so I can make progress on Feature #18037. Except for the problem reported at Bug #18614, comprehensive tests such as make check
work fine.
duerst@Kloentalersee:~/14ruby$ make runnable
BASERUBY = /usr/local/bin/ruby --disable=gems
CC = gcc
LD = ld
LDSHARED = gcc -shared
CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Werror=deprecated-declarations -Werror=div-by-zero -Werror=duplicated-cond -Werror=implicit-function-declaration -Werror=implicit-int -Werror=misleading-indentation -Werror=pointer-arith -Werror=write-strings -Werror=old-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Werror=undef -std=gnu99
XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -DRUBY_DEVEL=1 -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -I. -I.ext/include/x86_64-linux -I./include -I. -I./enc/unicode/14.0.0
CPPFLAGS =
DLDFLAGS = -Wl,--compress-debug-sections=zlib -fstack-protector-strong -pie
SOLIBS = -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm
LANG = C.UTF-8
LC_ALL =
LC_CTYPE =
MFLAGS =
gcc (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ln -f goruby ./bin/goruby
/home/duerst/14ruby/lib/fileutils.rb:301:in `link': No such file or directory @ rb_file_s_link - (goruby, ./bin/goruby) (Errno::ENOENT)
from /home/duerst/14ruby/lib/fileutils.rb:301:in `block in ln'
from /home/duerst/14ruby/lib/fileutils.rb:1593:in `fu_each_src_dest0'
from /home/duerst/14ruby/lib/fileutils.rb:299:in `ln'
from /home/duerst/14ruby/lib/fileutils.rb:1695:in `ln'
from ./tool/mkrunnable.rb:59:in `ln_exe'
from ./tool/mkrunnable.rb:96:in `ln_relative'
from ./tool/mkrunnable.rb:131:in `block in <main>'
from ./tool/mkrunnable.rb:128:in `map'
from ./tool/mkrunnable.rb:128:in `<main>'
make: *** [uncommon.mk:872: runnable] Error 1
duerst@Kloentalersee:~/14ruby$
Updated by duerst (Martin Dürst) about 3 years ago
Just for the record, on a completely new checkout:
$ ruby -v
ruby 3.1.0dev (2021-06-03T06:59:33Z master 7e14762159) [x86_64-linux]
$ ./ruby -v
ruby 3.2.0dev (2022-03-15T23:46:04Z master 48f1e8c5d8) [x86_64-linux]
Command used to configure:
$ ./configure --enable-load-relative --disable-install-doc
By the way, I'm not really sure what files (or directories) are missing. Does the message
/home/duerst/14ruby/lib/fileutils.rb:301:in
link': No such file or directory @ rb_file_s_link - (goruby, ./bin/goruby) (Errno::ENOENT)mean that
gorubyand
./bin/gorubyare missing? These files are indeed missing, but I don't understand why they are needed for
runnable`, or why they are missing.
Updated by duerst (Martin Dürst) over 2 years ago
@nakada: I again hit this. I found out that the solution is easy, just do make goruby
before using make runnable
. I propose to add goruby
to the targets necessary when creating runnable
, to avoid additional steps and unnecessary confusion.
Updated by nobu (Nobuyoshi Nakada) over 2 years ago
- Status changed from Open to Closed
Applied in changeset git|901471ab8a36f841fbd1f7396877444a25b06db6.
[Bug #18623] Link only existing excutables to make runnable [ci skip]