From: taca@... Date: 2021-08-14T09:35:51+00:00 Subject: [ruby-dev:51098] [Ruby master Bug#16490] mkmf.rbの非互換な変更 Issue #16490 has been updated by taca (Takahiro Kambe). 本件は少なくともRuby 2.7.3辺りでは起きなくなっていますので、チケット自体はcloseしていただいても問題ないと考えています。 > dependファイルを直してコンパイルしてみてもエラーになりますので、 これは、コンパイラのオプションに-Werror付けている環境の問題と考えられます。 実際、-Werrorの付かない環境ではウォーニングを出すものの、正常にコンパイルは完了しています。 もちろん、ウォーニングを出さない様に修正すべきでしょうけれど。 (そもそも、tmailは現在はメンテされてるのでしょうか...?) ---------------------------------------- Bug #16490: mkmf.rbの非互換な変更 https://bugs.ruby-lang.org/issues/16490#change-93285 * Author: taca (Takahiro Kambe) * Status: Third Party's Issue * 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/