From: her@sorah•jp
To: ruby-dev@ruby-lang.org
Subject: [ruby-dev:50378] [Ruby trunk Bug#14207] Failed to build 2.5.0-rc1 on CircleCI
Date: Wed, 20 Dec 2017 08:26:32 +0000 (UTC) [thread overview]
Message-ID: <redmine.journal-68544.20171220082630.98a7a04222139e22@ruby-lang.org> (raw)
In-Reply-To: redmine.issue-14207.20171220031135@ruby-lang.org
Issue #14207 has been updated by sorah (Sorah Fukumori).
File 14207.patch added
copy_file_range の man みる限り EPERM は来なそうなので、こういう救いかたは出来ない事はないのだけれど…。
やはりその環境だと apt-get で降ってくるバイナリとかも同じ目にあいそうな気がするので Ruby だけで救うっていうのもなんかなーという気持ちがありますね。
----------------------------------------
Bug #14207: Failed to build 2.5.0-rc1 on CircleCI
https://bugs.ruby-lang.org/issues/14207#change-68544
* Author: minimum2scp (Tsuyoshi YAMADA)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
* ruby -v: 2.5.0-rc1
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
CircleCI の docker 上で ruby 2.5.0-rc1 をビルドしてみたらエラーになりました。
make 時に多くの拡張ライブラリが "Could not be configured. It will not be installed" となっていて、
fileutilsで "Operation not permitted - copy_file_range" というメッセージが出ていました。
~~~
linking ruby
make[2]: Leaving directory '/tmp/ruby-2.5.0-rc1'
make[1]: Leaving directory '/tmp/ruby-2.5.0-rc1'
make[1]: Entering directory '/tmp/ruby-2.5.0-rc1'
*** Following extensions are not compiled:
dbm:
Could not be configured. It will not be installed.
/tmp/ruby-2.5.0-rc1/lib/fileutils.rb:441: Operation not permitted - copy_file_range
Check ext/dbm/mkmf.log for more details.
io/console:
Could not be configured. It will not be installed.
/tmp/ruby-2.5.0-rc1/lib/fileutils.rb:441: Operation not permitted - copy_file_range
Check ext/io/console/mkmf.log for more details.
io/nonblock:
Could not be configured. It will not be installed.
/tmp/ruby-2.5.0-rc1/lib/mkmf.rb:309: closed stream
Check ext/io/nonblock/mkmf.log for more details.
io/wait:
Could not be configured. It will not be installed.
/tmp/ruby-2.5.0-rc1/lib/mkmf.rb:309: closed stream
Check ext/io/wait/mkmf.log for more details.
etc:
Could not be configured. It will not be installed.
/tmp/ruby-2.5.0-rc1/lib/fileutils.rb:441: Operation not permitted - copy_file_range
Check ext/etc/mkmf.log for more details.
(snip)
readline:
Could not be configured. It will not be installed.
/tmp/ruby-2.5.0-rc1/lib/fileutils.rb:441: Operation not permitted - copy_file_range
Check ext/readline/mkmf.log for more details.
gdbm:
Could not be configured. It will not be installed.
/tmp/ruby-2.5.0-rc1/lib/fileutils.rb:441: Operation not permitted - copy_file_range
Check ext/gdbm/mkmf.log for more details.
openssl:
Could not be configured. It will not be installed.
/tmp/ruby-2.5.0-rc1/lib/fileutils.rb:441: Operation not permitted - copy_file_range
Check ext/openssl/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.
~~~
また、 make install から呼ばれる do-install-nodoc ターゲットでも
"Operation not permitted - copy_file_range (Errno::EPERM)" のメッセージが
バックトレースとともに出ていました。
~~~
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -r./x86_64-linux-fake ./tool/rbinstall.rb --make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="man"
installing binary commands: /usr/local/ruby-2.5.0-rc1/bin
/tmp/ruby-2.5.0-rc1/lib/fileutils.rb:1291:in `copy_stream': Operation not permitted - copy_file_range (Errno::EPERM)
from /tmp/ruby-2.5.0-rc1/lib/fileutils.rb:1291:in `block (2 levels) in copy_file'
from /tmp/ruby-2.5.0-rc1/lib/fileutils.rb:1290:in `open'
from /tmp/ruby-2.5.0-rc1/lib/fileutils.rb:1290:in `block in copy_file'
from /tmp/ruby-2.5.0-rc1/lib/fileutils.rb:1289:in `open'
from /tmp/ruby-2.5.0-rc1/lib/fileutils.rb:1289:in `copy_file'
from /tmp/ruby-2.5.0-rc1/lib/fileutils.rb:430:in `copy_file'
from /tmp/ruby-2.5.0-rc1/lib/fileutils.rb:782:in `block in install'
from /tmp/ruby-2.5.0-rc1/lib/fileutils.rb:1461:in `block in fu_each_src_dest'
from /tmp/ruby-2.5.0-rc1/lib/fileutils.rb:1475:in `fu_each_src_dest0'
from /tmp/ruby-2.5.0-rc1/lib/fileutils.rb:1459:in `fu_each_src_dest'
from /tmp/ruby-2.5.0-rc1/lib/fileutils.rb:778:in `install'
from ./tool/rbinstall.rb:167:in `install'
from ./tool/rbinstall.rb:346:in `block in <main>'
from ./tool/rbinstall.rb:853:in `block in <main>'
from ./tool/rbinstall.rb:850:in `each'
from ./tool/rbinstall.rb:850:in `<main>'
uncommon.mk:312: recipe for target 'do-install-nodoc' failed
~~~
この現象は、ビルドする対象を2.5.0-preview1に変更すると起きませんでした。
また、ローカルPC (Debian) の Docker では 2.5.0-rc1 でも 2.5.0-preview1 でも問題なくビルドできました。
CircleCI 上で git bisect して調べてみると、 r60284 で発生するようになったようです。
CircleCIでのビルド時のログと、再現のための Dockerfile, .circleci/config.yml を添付します。
---Files--------------------------------
build-2.5.0-rc1.log (85.8 KB)
Dockerfile (520 Bytes)
config.yml (319 Bytes)
14207.patch (1.23 KB)
--
https://bugs.ruby-lang.org/
next prev parent reply other threads:[~2017-12-20 8:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <redmine.issue-14207.20171220031135@ruby-lang.org>
2017-12-20 3:11 ` [ruby-dev:50373] [Ruby trunk Bug#14207] Failed to build 2.5.0-rc1 on CircleCI tyamada
2017-12-20 3:25 ` [ruby-dev:50374] " her
2017-12-20 3:39 ` [ruby-dev:50375] " tyamada
2017-12-20 7:55 ` [ruby-dev:50376] " her
2017-12-20 8:11 ` [ruby-dev:50377] " her
2017-12-20 8:26 ` her [this message]
2017-12-20 8:27 ` [ruby-dev:50379] " her
2017-12-22 8:25 ` [ruby-dev:50381] [Ruby trunk Bug#14207][Assigned] " glass.saga
2017-12-22 8:52 ` [ruby-dev:50382] [Ruby trunk Bug#14207] " glass.saga
2017-12-22 14:03 ` [ruby-dev:50383] " tyamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.ruby-lang.org/en/community/mailing-lists/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=redmine.journal-68544.20171220082630.98a7a04222139e22@ruby-lang.org \
--to=ruby-dev@ruby-lang.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).