[ruby-dev:51096] [Ruby master Bug#16490] mkmf.rbの非互換な変更

From: merch-redmine@...
Date: 2021-08-13 21:05:46 UTC
List: ruby-dev #51096
Issue #16490 has been updated by jeremyevans0 (Jeremy Evans).


Reverting the line removed from mkmf.rb in r67033 (commit:3d1c86a26f0c96a9c1d0247b968aa96e6f3c30bb) allows for the tmail gem to install on the master branch.  I've submitted a pull request for that: https://github.com/ruby/ruby/pull/4738

----------------------------------------
Bug #16490: mkmf.rbの非互換な変更
https://bugs.ruby-lang.org/issues/16490#change-93277

* Author: taca (Takahiro Kambe)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-netbsd]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
tmailのrubygem 1.2.7.1をインストールする際に、
```
make "DESTDIR="
make: don't know how to make /usr/pkg/include/ruby-2.7.0/defines.h. Stop

```
といったエラーを起こします。Makefileの最後の依存関係の記述は
```
###
tmailscanner.o: tmailscanner.c $(hdrdir)/ruby.h $(arch_hdrdir)/ruby/config.h $(hdrdir)/defines.h Makefile

```
となっていますが、Ruby 2.6では`$(hdrdir)/defines.h`ではなく`$(hdrdir)/ruby/defines.h`となっていました。
なお、tmail側を見ると`ext/tmailscanner/tmail/depend`の内容が、
```
tmailscanner.o: tmailscanner.c $(hdrdir)/ruby.h $(topdir)/config.h $(hdrdir)/defines.h Makefile
```
となっていて、`defines.h`だけ置き換えられていない様に見えます。

r 67033 のmkmf.rbのdepend_rules()に対する変更を戻すとRuby 2.6と同じ挙動になる様です。





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

In This Thread

Prev Next