[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