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

Re: KDE2



斉藤です。

筒井さん。大阪大学の齊藤さん。お返事ありがとうございます。

> > 「他のUNIX」が何なのかわかりませんが、実装の話をするならば
> > POSIX とか参照したほうがいいのでは。 mkdir(1) は最後の / を
> > 取ってくれるようですが、 mkdir(2) がどうあるべきなのかは
> > 知りません ^^;
> 
> POSIXでは、
> path prefix: pathname または pathnameの末尾に /をつけたもの
> pathname: / で区切ってファイル名を並べたもの
> 	パス名がディレクトリをさす時は、最後に一つあるいは複
> 	数の/をもってよい(may)
> 
> となっています。
> ディレクトリ名の後ろに / をつけるのは「may」なので、
> mkdir /dir/name/ がエラーになってもPOSIXに違反して
> いるとはいえないと思います。

勉強になります。
linuxやFreeBSDは「may」をサポートしているようで、
それがKDE2では標準に使用されています。
NetBSD用のパッチがKDEのページから持ってくれれば
なんの問題もないと思いますが、それはKDEの問題ですね。

> > 問題点2
> > sss.c, xxx.c, yyy.cの添付ファイルを次のようにコンパイルし
> > 実行してみていただけないでしょうか。
>  :
> > (他のUNIXはシェアードライブラリを作る時に
> > crtbegin.o, crtend.oをリンクしないようです)。
> 
> crt*.o をリンクしないといけないのは変だということでしょうか?
> NetBSD だと ELF の場合は必ず crt{begin,end}S.o をリンクする
> ようですが。 (bsd.lib.mk 参照)

NetBSDを考慮していないフリーソフトのインストールを
GNUのmakeを使って、ソースのコンパイルから始めた場合、
できればコンパイル一発ですんで欲しいのですが。
ELF の場合は必ず crt{begin,end}S.o をリンクする
というのは納得です
(KDE2ではlibtoolにパッチを入れるだけで済みますので)。

> で、 subject の KDE ですが、 pkgsrc/x11/kde とか使えば
> make install 一発で済んだりしませんか?
> pkgsrc/x11/kdelibs/patches/patch-a[cd] とか見ると
> "/" が削ってあったり LDFLAGS がいじってあったりします。

問題の箇所は kdelibs-2.0/kdecore/kstddirs.cppの672行目
付近にありますが、KDE2用のパッチはまだないように見えます。

シェアードライブラリがダイナミックにリンクされる時に
各ライブラリに含まれる初期化ルーチンが呼び出されないと
思うのですが、これも問題なしですか?