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

[plamo:07787] Re: unable to buile Canna on glibc2.2?



>> しかし、 strings.h の方も関数宣言の前に
>> 
>> #undef bcopy
>> #undef bzero
>> 
>> としておけばエラーにならないはずです。
>
>/usr/include/string.h, /usr/include/strings.h そのものに上記の2行を
>書き加えようと思いますが、何か後で問題になることがあるでしょうか。

個人的にはそこまでする気にはなりませんが後で問題が起こるとも
思えません。少なくとも私の理解の範囲では。
他の方法としては

extern void (bcopy) (__const void *__src, void *__dest, size_t __n) __THROW;
extern void (bzero) (void *__s, size_t __n) __THROW;

というのもあります。実際、ライブラリ関数の定義ではそうしているのに
なぜヘッダファイルではそうしないのかよく分かりません。
もっとも、bcopy が引数無しでマクロ定義されていたら
やっぱり #undef が必要かもしれません。
しかしもっと重要なのは、#include < > を #include " " よりも先に
書いている限りはこんな心配はいらないということです。
もちろん Canna35b2 の場合は合理的な理由があってやっているのですが
余計なことまでしたためにエラーになったわけです。

もうご存知かもしれませんが実は dic/ideo/pubdic/pod.c でも
static な変数の初期化でエラーが出ます。
これは stdin が定数じゃないからです。

C とは関係ありませんが doc/man/guide/tex/ も少々手間がかかりました。
デフォルトのままで make すると "latex が無いよ" といってきたので
platex を使うと、"\include をネストしないでくれ" と怒られました。
commands.tex の末尾の \include を canna.tex に移してコンパイルしましたが
TEX のことは全然知らないのでこれで良かったのかどうか分かりません。
本当はどうすればいいのでしょうか?(せめて man か info があれば…)
だからというわけでもありませんが技術評論社の
「これだけでできるLATEX実践活用ガイド」を
買ってきたのでこれからじっくり勉強します。

Follow-Ups
[plamo:07799] Re: unable to build Canna on glibc2.2?, 藤吉 敏英

[検索ページ] [メール一覧]
Plamo ML 公開システム