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

Re: inputmethod/Chinput



>   で、そうでなくても -lpthread じゃなくて -lpth を直接リンクしている以
> 上 pth に depend させないとまずいと思います。unproven とかでは動かない
> わけですから。

>   まあ、実際には pthread.buildlink2.mk では pth を使っているようなので 
> pth で現在は良いのかも知れませんが、例えば pth 以外の pthread に変わっ
> た時に対応できないでしょう。また、native pthread で問題を起こすことは
> 間違いないでしょうし。

はい、その通りです。あ、unicon-im/buildlink2.mkの中のinclude
先をpth/buildlink2.mkに変えるのを忘れていました。

添付のパッチを当ててunicon-imとChinputがうまく作れることを確
認していただけませんか。こちらではchinputを実行してbig5なフォ
ントが見つからずにエラーで止まるところまでは確認できました。

chnputは/usr/pkg/lib/libpth.so.14にリンクされています。

>   個人的に気になっているのは pthread.buildlink2.mk を使用した場合に 
> Makefile 中で -lpthread とか -lpth とかを直接使って良いかということで
> す。本来なら pthread.buildlink2.mk の中で使用するライブラリをマクロ定
> 義しないとまずいような気がするのですが…………。

pthの内部構造に依存しているのでなければ、POSIX threadで定義
されている範囲のものしか使えないでしょう。-lpthreadはOKです
が、-lpthは駄目です。pthパッケージに含まれているpthread(3)に
も以下のようにあります。

----------------------------------------

pthread(3)        POSIX Threading API of GNU Pth       pthread(3)


NAME
       pthread - POSIX.1c Threading API of GNU Pth

VERSION
       GNU Pth 1.4.1 (27-Jan-2002)

SYNOPSIS
       Application Makefiles:

        #   manually
        CFLAGS=-I/path/to/pth/include
        LDFLAGS=-L/path/to/pth/lib
        LIBS=-lpthread

        #   automatically
        CFLAGS=`pthread-config --cflags`
        LDFLAGS=`pthread-config --ldflags`
        LIBS=`pthread-config --libs`

       Application source files:

        #include <pthread.h>

----------------------------------------

>   もちろん pthread のライブラリとしては -lpthread を使うべきだというこ
> とであれば、-lpth じゃなくて -lpthread に統一すればいいんですが、どう
> も DEPEND と buildlink2 の使いわけをどうすればいいのかが、いまいちはっ
> きりしません。

configureの実行時に意図しないヘッダーファイルやライブラリー
が検出されて(そして密かにそれに依存して)しまい、せっかく作っ
たバイナリーパッケージが他の環境でうまく動かないことがたまに
あります。

buildlink2はパッケージのconfigure/build時にどのヘッダーファ
イルやライブラリーが使用されるかを制御することによりこの問題
を解決するものです。

buildlink2とDEPENDSの使い分けについて詳しくは、Packages.txt
の第8章 buildlink2 methodology をご覧ください。

--
SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp>
May the peace be with us all.
Index: unicon-im/Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/inputmethod/unicon-im/Makefile,v
retrieving revision 1.6
diff -u -d -r1.6 Makefile
--- unicon-im/Makefile	2003/04/18 13:39:37	1.6
+++ unicon-im/Makefile	2003/05/02 04:05:00
@@ -2,7 +2,7 @@
 
 DISTNAME=	unicon-1.2
 PKGNAME=	unicon-im-1.2
-PKGREVISION=	1
+PKGREVISION=	2
 CATEGORIES=	inputmethod
 MASTER_SITES=	http://www.opencjk.org/~yumj/download/
 
Index: unicon-im/buildlink2.mk
===================================================================
RCS file: /cvsroot/pkgsrc/inputmethod/unicon-im/buildlink2.mk,v
retrieving revision 1.3
diff -u -d -r1.3 buildlink2.mk
--- unicon-im/buildlink2.mk	2003/01/19 08:48:49	1.3
+++ unicon-im/buildlink2.mk	2003/05/02 04:05:00
@@ -15,7 +15,7 @@
 BUILDLINK_FILES.unicon-im+=	lib/unicon/cce_hzinput.*
 BUILDLINK_FILES.unicon-im+=	lib/unicon/cce_pinyin.*
 
-.include "../../mk/pthread.buildlink2.mk"
+.include "../../devel/pth/buildlink2.mk"
 
 BUILDLINK_TARGETS+=	unicon-im-buildlink