[#39671] Ruby 1.8.1 on SX-6 — Masaki Hasegawa <masaki-h@...4u.or.jp>

はじめまして、長谷川 と申します。

16 messages 2004/05/19
[#39673] Re: Ruby 1.8.1 on SX-6 — Tanaka Akira <akr@...17n.org> 2004/05/19

In article <20040519.205107.102564296.suuchi29@naps.kishou.go.jp>,

[ruby-list:39680] Re: Ruby 1.8.1 on SX-6

From: Tanaka Akira <akr@...17n.org>
Date: 2004-05-19 16:22:16 UTC
List: ruby-list #39680
In article <20040520.011403.74726900.masaki-h@pp.iij4u.or.jp>,
  Masaki Hasegawa <masaki-h@pp.iij4u.or.jp> writes:

> とあるくせに、困ったことに msghdr のメンバに msg_control が
> ちゃんと? 入っているのでした。かくして HAVE_ST_MSG_CONTROL が
> define されてしまいます。ext/socket/socket.c は
> HAVE_ST_MSG_CONTROL なときには struct cmsghdr があるものと
> して書かれているのですが、SX にはこの構造体がなく、コンパイル
> エラーとなります。

そのコンパイルエラーの原因を extconf.rb で検出するのが適切だと思います。

> ちょっと汚いですが、extconf.rb の問題の箇所をとりあえず
>
> !  have_struct_member('struct msghdr', 'msg_control', ['sys/types.h', 'sys/socket.h']) if not /sx6-superux/ =~ RUBY_PLATFORM
>
> として回避し、コンパイルできるようになりましたが、
> いかがでしょうか?

このような変更は本質的でない上、保守性を落すので受け入れられません。

たとえば、きっとこの変更では SX-4 には対応できませんよね。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread