Issue #18263 has been updated by xtkoba (Tee KOBAYASHI).



From `LOG.make`:

```
compiling ../.././ext/psych/yaml/api.c
../.././ext/psych/yaml/api.c: 関数 ‘yaml_strdup’ 内:
../.././ext/psych/yaml/api.c:66:27: 警告: implicit declaration of function ‘strdup’; did you mean ‘cmp’? [-Wimplicit-function-declaration]
     return (yaml_char_t *)strdup((char *)str);
                           ^~~~~~
                           strcmp
../.././ext/psych/yaml/api.c:66:12: 警告: 異なるサイズの整数からポインタへのキャストです [-Wint-to-pointer-cast]
     return (yaml_char_t *)strdup((char *)str);
            ^
```

The compiler assumes that `strdup(3)` is implicitly declared as `int strdup();`, which is of course not correct and should be instead as follows:

```c
char *strdup(const char *s);
```

I have no idea as to why `strdup(3)` is not declared here. For instance, on my GNU/Linux environment it is declared in `<string.h>` which is included (indirectly) in `ext/psych/yaml/api.c`.

A workaround would be to add the correct declaration in `ext/psych/yaml/api.c`.

----------------------------------------
Bug #18263: "make install" crashed when Ruby3.0.2 clean install. (in japanese)
https://bugs.ruby-lang.org/issues/18263#change-94264

* Author: tksotn (TAKASHI OOTANI)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
本日 gem update を行った後、gem コマンドが異常終了するようになってしまいました。

/usr/local/lib/ruby/gems/3.0.0/gems/psych-4.0.2/lib/psych.rb:455: [BUG] Segmentation fault at 0xffffffff9ade4120
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]

OSは、CentOS Linux release 8.4.2105 です。

gem update自体は正常に終了しました。その直後の gem clean でこけています。
gem だけでもこけます。OS再起動後にも同様。

昨日までは異常なく、昨日今日に dnf install や update でインストール・更新した
OSパッケージはログを見る限りないです。

念のため、PATHからインストール先の/usr/local/binを外した状態で、
tar.gzから新規ディレクトリを--prefix指定してconfigureして
まっさらな環境にインストールしてみようとしましたが、
make install の時点で同じエラーになります。
ということは、gem updateは原因では無いという事になるかと思います。

上記の、configure、make、make test、make check (これは以前からこける)、
make installと、dnf list のリストを添付します。

よろしくお願いします。

本日のgem update対象:
fileutils-1.6.0/
io-wait-0.2.0/
net-http-0.2.0/
net-protocol-0.1.2/
optparse-0.2.0/
ostruct-0.5.0/
pp-0.2.1/
prettyprint-0.1.1/
readline-ext-0.1.3/
rinda-0.1.1/
securerandom-0.1.1/
stringio-3.0.1/
uri-0.11.0/
net-ftp-0.1.2/
minitest-5.14.2/
power_assert-1.2.0/
rake-13.0.3/


---Files--------------------------------
LOG.tar.gz (243 KB)


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