https://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112016-08-16T12:41:49ZRuby Issue Tracking SystemRuby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=601632016-08-16T12:41:49Zhsbt (Hiroshi SHIBATA)hsbt@ruby-lang.org
<ul></ul><blockquote>
<p>Also, the "gem install tk" does not build the extension, so that is another source of possible issues.</p>
</blockquote>
<p>I missed configuration of tk.gemspec. It's fixed at tk-0.1.1 probably. Can you confirm it?</p> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=601782016-08-17T14:14:49Znobu (Nobuyoshi Nakada)nobu@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>Applied in changeset r55950.</p>
<hr>
<p>gem extensions</p>
<ul>
<li>ext/extmk.rb: build gem extensions into separate directories</li>
<li>tool/rbinstall.rb: install pre-built gem extension files gem<br>
extension directories. <a href="/issues/12681">[ruby-core:76931]</a> [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Gemfied tk issue (Closed)" href="https://bugs.ruby-lang.org/issues/12681">#12681</a>]</li>
</ul> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=602802016-08-25T11:06:00Zvo.x (Vit Ondruch)v.ondruch@tiscali.cz
<ul></ul><p>Hiroshi SHIBATA wrote:</p>
<blockquote>
<blockquote>
<p>Also, the "gem install tk" does not build the extension, so that is another source of possible issues.</p>
</blockquote>
<p>I missed configuration of tk.gemspec. It's fixed at tk-0.1.1 probably. Can you confirm it?</p>
</blockquote>
<p>Yes, the 0.1.1 looks good. Thx.</p> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=602812016-08-25T11:32:14Zvo.x (Vit Ondruch)v.ondruch@tiscali.cz
<ul><li><strong>Status</strong> changed from <i>Closed</i> to <i>Open</i></li></ul><p>The r55950 does not resolve the issue completely. The make install does not work (neither the gem itself probably):</p>
<pre><code># make install DESTDIR=/builddir/build/BUILDROOT/ruby-2.4.0-0.1.r56008.fc26.x86_64
... snip ...
./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="/builddir/build/BUILDROOT/ruby-2.4.0-0.1.r56008.fc26.x86_64" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc" --install=all --rdoc-output=".ext/rdoc"
installing binary commands: /usr/bin
installing base libraries: /usr/lib64
installing arch files: /usr/lib64/ruby/2.4.0/x86_64-linux
installing pkgconfig data: /usr/lib64/pkgconfig
installing command scripts: /usr/bin
installing library scripts: /usr/lib64/ruby/2.4.0
installing common headers: /usr/include/ruby-2.4.0
installing manpages: /usr/share/man/man1
installing extension objects: /usr/lib64/ruby/2.4.0/x86_64-linux
installing extension objects: /usr/lib64/ruby/site_ruby/2.4.0/x86_64-linux
installing extension objects: /usr/lib64/ruby/vendor_ruby/2.4.0/x86_64-linux
installing extension headers: /usr/include/ruby-2.4.0/x86_64-linux
installing extension scripts: /usr/lib64/ruby/2.4.0
installing extension scripts: /usr/lib64/ruby/site_ruby/2.4.0
installing extension scripts: /usr/lib64/ruby/vendor_ruby/2.4.0
installing extension headers: /usr/include/ruby-2.4.0/ruby
installing default gems: /usr/lib64/ruby/gems/2.4.0 (build_info, cache, doc, extensions, gems, specifications)
bigdecimal 1.2.8
io-console 0.4.6
json 2.0.2
psych 2.1.0
rdoc 4.2.1
installing bundle gems: /usr/lib64/ruby/gems/2.4.0 (build_info, cache, doc, extensions, gems, specifications)
did_you_mean 1.0.2
minitest 5.9.0
rake 11.2.2
power_assert 0.3.0
test-unit 3.2.1
tk 0.1.1
./tool/rbinstall.rb:273:in `initialize': No such file or directory @ rb_sysopen - /builddir/build/BUILDROOT/ruby-2.4.0-0.1.r56008.fc26.x86_64/usr/lib64/ruby/gems/2.4.0/extensions/x86_64-linux/2.4.0-static/tk-0.1.1/gem.build_complete (Errno::ENOENT)
from ./tool/rbinstall.rb:273:in `open'
from ./tool/rbinstall.rb:273:in `open_for_install'
from ./tool/rbinstall.rb:769:in `block (2 levels) in <main>'
from /builddir/build/BUILD/ruby-2.4.0-r56008/lib/rubygems/specification.rb:821:in `block in each_spec'
from /builddir/build/BUILD/ruby-2.4.0-r56008/lib/rubygems/specification.rb:743:in `block (2 levels) in each_gemspec'
from /builddir/build/BUILD/ruby-2.4.0-r56008/lib/rubygems/specification.rb:742:in `each'
from /builddir/build/BUILD/ruby-2.4.0-r56008/lib/rubygems/specification.rb:742:in `block in each_gemspec'
from /builddir/build/BUILD/ruby-2.4.0-r56008/lib/rubygems/specification.rb:741:in `each'
from /builddir/build/BUILD/ruby-2.4.0-r56008/lib/rubygems/specification.rb:741:in `each_gemspec'
from /builddir/build/BUILD/ruby-2.4.0-r56008/lib/rubygems/specification.rb:819:in `each_spec'
from ./tool/rbinstall.rb:758:in `block in <main>'
from ./tool/rbinstall.rb:823:in `block in <main>'
from ./tool/rbinstall.rb:820:in `each'
from ./tool/rbinstall.rb:820:in `<main>'
uncommon.mk:277: recipe for target 'do-install-all' failed
make: *** [do-install-all] Error 1
</code></pre> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=602822016-08-25T11:37:46Zvo.x (Vit Ondruch)v.ondruch@tiscali.cz
<ul></ul><p>Moreover, I still see the <code>tcltklib.so</code> and <code>tkutil.so</code> installed into <code>/usr/lib64/ruby/2.4.0/x86_64-linux/</code> but they should not be there at all.</p> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=602832016-08-25T12:53:52Zvo.x (Vit Ondruch)v.ondruch@tiscali.cz
<ul></ul><p>Actually this line is suspicious:</p>
<p><a href="https://github.com/ruby/ruby/blob/trunk/ext/extmk.rb#L568" class="external">https://github.com/ruby/ruby/blob/trunk/ext/extmk.rb#L568</a></p>
<p>It expands to <code>$(topdir)/.ext/gems</code> and creates the <code>$(topdir)</code> directory indeed. But that doesn't look to be the original intention here. Tried to revert to <code>.ext/gems</code> but it doesn't really make a difference ...</p> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=602982016-08-26T16:41:17Zvo.x (Vit Ondruch)v.ondruch@tiscali.cz
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-5 priority-4 priority-default closed" href="/issues/8539">Feature #8539</a>: Unbundle ext/tk</i> added</li></ul> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=603212016-08-30T07:56:51Zvo.x (Vit Ondruch)v.ondruch@tiscali.cz
<ul><li><strong>Assignee</strong> changed from <i>naruse (Yui NARUSE)</i> to <i>nobu (Nobuyoshi Nakada)</i></li></ul><p>It seems that r55966 is part of the problem. The place <a href="https://github.com/ruby/ruby/commit/438f52d1a4aa03650a53911a66f7d81c4fc20d38#diff-14d8ef4026c4b825d1e5a95429bf4156L244" class="external">1</a> where the block could be executed was removed in favor of <a href="https://github.com/ruby/ruby/commit/438f52d1a4aa03650a53911a66f7d81c4fc20d38#diff-14d8ef4026c4b825d1e5a95429bf4156L228" class="external">2</a>. Unfortunately, that path is never reached, since the tk gem contains extconf.rb and hence the condition <a href="https://github.com/ruby/ruby/commit/438f52d1a4aa03650a53911a66f7d81c4fc20d38#diff-14d8ef4026c4b825d1e5a95429bf4156L220" class="external">3</a> is true.</p>
<p>Reverting r55966 helped me to place the compiled extension into proper places.</p>
<p>Also, I think that the removal of <code>FileUtils::makedirs("#$extout/gems")</code> <a href="https://github.com/ruby/ruby/blob/trunk/ext/extmk.rb#L568" class="external">4</a> should be enough to avoid the creation of the <code>$(topdir)</code> directory. The appropriate directories are created later by <code>extmake</code> anyway</p> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=603222016-08-30T12:22:38Znobu (Nobuyoshi Nakada)nobu@ruby-lang.org
<ul></ul><p>Do you install after <code>make extract-gems</code> or without it?</p> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=603312016-08-31T06:36:18Znobu (Nobuyoshi Nakada)nobu@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>Applied in changeset r56047.</p>
<hr>
<p>mkmf.rb: TARGET_SO_DIR</p>
<ul>
<li>ext/extmk.rb: move TARGET_SO_DIR stuffs to mkmf.rb.</li>
<li>lib/mkmf.rb (create_makefile): create target shared object files<br>
under $(TARGET_SO_DIR) which is $sodir if it is defined with<br>
$extout. <a href="/issues/12681">[ruby-core:77058]</a> [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Gemfied tk issue (Closed)" href="https://bugs.ruby-lang.org/issues/12681">#12681</a>]</li>
</ul> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=603332016-08-31T10:46:04Zvo.x (Vit Ondruch)v.ondruch@tiscali.cz
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-5 priority-4 priority-default closed" href="/issues/12714">Bug #12714</a>: make で $(topdir)/.ext/gems が作成される</i> added</li></ul> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=603342016-08-31T11:53:48Zvo.x (Vit Ondruch)v.ondruch@tiscali.cz
<ul><li><strong>Status</strong> changed from <i>Closed</i> to <i>Assigned</i></li></ul><p>Vit Ondruch wrote:</p>
<blockquote>
<p>Also, I think that the removal of <code>FileUtils::makedirs("#$extout/gems")</code> [4] should be enough to avoid the creation of the <code>$(topdir)</code> directory. The appropriate directories are created later by <code>extmake</code> anyway</p>
</blockquote>
<p>This was reported separately as <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: make で $(topdir)/.ext/gems が作成される (Closed)" href="https://bugs.ruby-lang.org/issues/12714">#12714</a> and fixed by r56042</p>
<p>Nobuyoshi Nakada wrote:</p>
<blockquote>
<p>Do you install after <code>make extract-gems</code> or without it?</p>
</blockquote>
<p>Never heard about "extract-gems" nor I understand why I should use it, when I build from the snapshot tarball. So far <code>make & make install</code> was always enough.</p>
<p>Anyway, your recent changes probably fix the issue but broke some RubyGems tests:</p>
<p><a href="http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20160831T110500Z.fail.html.gz" class="external">http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20160831T110500Z.fail.html.gz</a></p> Ruby master - Bug #12681: Gemfied tk issuehttps://bugs.ruby-lang.org/issues/12681?journal_id=603362016-08-31T12:29:03Zvo.x (Vit Ondruch)v.ondruch@tiscali.cz
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li></ul><p>It seems that r56049 and r56050 fixes the remaining issues for me. Thx.</p>