[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:001031] Re: Solved? DCL-C compile error



堀之内です。

以下、確認しました。

> 神代さんの話から想像すると、Fortranコンパイラーがある場合は
> bitlib.h が正しく出来ているのでしょう。これはヒントになり
> ます。bitlib.hでは DCL_INT, DCL_REAL という
> 2つのマクロを定義してるだけなのですが、この話から想像するに、
> Fortranの INTEGER, REAL がそれぞれCでどの型に対応するかを
> 記述しているのではないでしょうか。ということであれば、
> f2c版では libf2c.h (or libtinyf2c.h)で型が決まってますので、
> configureする必要はないです。逆にいえば、実際には使われない
> Fortranコンパイラーの情報をもとにして生成されると、正しくない
> ものが出来る可能性があるということでしょう。以上、DCL C版を
> 維持している FIP に、確認と対処を期待しますので、よろしくお
> 願いします。(私の予想が正しければ、bitlib.hは予め定義してし
> まい configure させない)
> 
> 今手元に Fortran 版の DCL がないのですが、恐らく bitlib では
> もともと C のビット演算を利用してるのではないでしょうか。その
> ため bitlib.h のようなものが必要になっているのだと思います。
> もしそうなら、上の予想はまずあってるでしょう。これに限らず
> もとのライブラリーで C を呼んでいるところは同様な問題があり得
> ます。恐らく、その辺は気を使って作業されたのだろうと思いますの
> で、たまたまうっかり残ってしまったものなのだろうと思います。

bitlib.h の中身は

#include "libtinyf2c.h"
#define DCL_INT integer
#define DCL_REAL real

の決めうちに変えてください > 高橋(FIP)さん。なお、configure で
生成させないようにする、make clean 等で消えないようにする、とい
うのも勿論お願いします。

なお、作業は msgdmp_ を取り替えた版(dcl-5.2-C_011213)で行って
ください。Linux で一発インストールできないのは致命的なので、早め
の対応が嬉しいです(もちろん仕事始め後でいいです... ^^;)。私自
身はメールに書いたようにかなり前に自分でちょこっと直してたので、
事態をちゃんと認識してませんでした。

ところで C 版独自のマイナーバージョン番号をつけられないと、上の
ように日付が入ってうざいのですが、どうしたもんでしょう > 塩谷様、
高橋様。