Issue #12681 has been updated by Vit Ondruch.

Assignee changed from Yui NARUSE to Nobuyoshi Nakada

It seems that r55966 is part of the problem. The place [1] where the block could be executed was removed in favor of [2]. Unfortunately, that path is never reached, since the tk gem contains extconf.rb and hence the condition [3] is true.

Reverting r55966 helped me to place the compiled extension into proper places.

Also, I think that the removal of ```FileUtils::makedirs("#$extout/gems")``` [4] should be enough to avoid the creation of the ```$(topdir)``` directory. The appropriate directories are created later by ```extmake``` anyway


[1] https://github.com/ruby/ruby/commit/438f52d1a4aa03650a53911a66f7d81c4fc20d38#diff-14d8ef4026c4b825d1e5a95429bf4156L244
[2] https://github.com/ruby/ruby/commit/438f52d1a4aa03650a53911a66f7d81c4fc20d38#diff-14d8ef4026c4b825d1e5a95429bf4156L228
[3] https://github.com/ruby/ruby/commit/438f52d1a4aa03650a53911a66f7d81c4fc20d38#diff-14d8ef4026c4b825d1e5a95429bf4156L220
[4] https://github.com/ruby/ruby/blob/trunk/ext/extmk.rb#L568

----------------------------------------
Bug #12681: Gemfied tk issue
https://bugs.ruby-lang.org/issues/12681#change-60321

* Author: Vit Ondruch
* Status: Open
* Priority: Normal
* Assignee: Nobuyoshi Nakada
* ruby -v: ruby 2.4.0dev (2016-08-16 trunk 55915) [x86_64-linux]
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
First of all, thank you for moving Tk into independent gem.

Nevertheless, I have one concern. So far, you left the tcltklib.so and tkutil.so under ruby lib directory. This is unfortunately major flaw, since the Tk gem is not one of the default gems. Hence, if you install more versions of Tk library, there might be collision among them.

Also, the "gem install tk" does not build the extension, so that is another source of possible issues.





-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>