[[diary/Kojima]]

・作業メモ
 
 % ./PlamoBuild.evolution-mapi-0.28.1 config
 
 configure: error: libmapi wasn't found! Please install at least libmapi-0.8!
 configure error. ./PlamoBuild.evolution-mapi-0.28.1 script stop

 % ./PlamoBuild.libmapi-0.8.2-ROMULUS config
 
 checking for samba 4... configure: error: Samba 4 not found
 configure error. ./PlamoBuild.libmapi-0.8.2-ROMULUS script stop

Samba4か。。

epiphany が nss の pkgconfig を必要とするので nspr/nss は独立したパッケージとして作った方がよさげだな

nsprはビルドできたが、nssはエラーになるなぁ。

 gcc -shared  -Wl,-z,defs -Wl,-soname -Wl,libnssutil3.so  -Wl,--version-script,Linux2.6_x86_glibc_PTH_OPT.OBJ/nssutil.def 
 -Wl,-rpath,/usr/lib/nspr -Wl,-rpath,/usr/lib/nss -o Linux2.6_x86_glibc_PTH_OPT.OBJ/libnssutil3.so Linux2.6_x86_glibc_PTH_OPT.OBJ/quickder.o 
 Linux2.6_x86_glibc_PTH_OPT.OBJ/secdig.o Linux2.6_x86_glibc_PTH_OPT.OBJ/derdec.o Linux2.6_x86_glibc_PTH_OPT.OBJ/derenc.o 
 Linux2.6_x86_glibc_PTH_OPT.OBJ/dersubr.o Linux2.6_x86_glibc_PTH_OPT.OBJ/dertime.o Linux2.6_x86_glibc_PTH_OPT.OBJ/nssb64d.o ...
 ....
 Linux2.6_x86_glibc_PTH_OPT.OBJ/oidstring.o: In function `SEC_StringToOID': 
 oidstring.c:(.text+0xe0): undefined reference to `PL_strlen'
 oidstring.c:(.text+0x101): undefined reference to `PL_strncasecmp'
 Linux2.6_x86_glibc_PTH_OPT.OBJ/portreg.o: In function `PORT_RegExpCaseSearch':
 portreg.c:(.text+0xa9d): undefined reference to `PL_strcasecmp'
 Linux2.6_x86_glibc_PTH_OPT.OBJ/secoid.o: In function `SECOID_Init':
 secoid.c:(.text+0x600): undefined reference to `PL_strpbrk'
 collect2: ld はステータス 1 で終了しました
 make[2]: *** [Linux2.6_x86_glibc_PTH_OPT.OBJ/libnssutil3.so] エラー 1
 make[2]: ディレクトリ `/mnt/Gnome-2.28/Other/build/mozilla/security/nss/lib/util' から出ます
 make[1]: *** [libs] エラー 2

ざっと調べた感じでは、PL_strlen は /usr/include/nspr/plstr.h で定義されているマクロっぽいので、
このファイルをインクルードしてみたけどエラーは変わらないなぁ。
-どうやら、config.mk に NSPR_LIB_DIR が設定されないのが原因みたいだけど、これが設定されないのは pkgconfig --libs-only-L nspr が null になっているせいなので、もうちょっと根は深そうだな-- [[kojima]] &new{2009-11-08 (日) 12:29:24};
-とりあえず NSPR_LIB_DIR は手動で設定して回避するか -- [[kojima]] &new{2009-11-08 (日) 12:35:10};
-blfs にこんなパッチがあります。 http://www.linuxfromscratch.org/patches/blfs/svn/nspr-4.8.2-pkgconfig-1.patch -- [[tako]] &new{2009-11-08 (日) 18:43:45};
-nspr/nss をpkgconfig 化する処理は加えているのだけど、今回ひっかかったのは、pkg-config --libs-only-L nspr で /usr/lib が返ってこなかったことですね。ソースを見たわけではないけど、--libs-only-L は -L/usr/lib の場合は(デフォルトの場所だから)表示しないような仕様になっているので、それで NSPR_LIB_DIR  を設定しようとしたのが敗因らしい。 -- [[kojima]] &new{2009-11-08 (日) 20:08:52};


GNOME-2.28は Bluetooth への対応が売りの一つらしいが、手元にはBluetoothなデバイスが無いかテストできないなぁ。。

brasero をビルド中に、

   CC     scsi-sg.lo
 In file included from scsi-sg.c:44:
 /usr/include/scsi/scsi.h:145: error: expected specifier-qualifier-list before 'u8'
 /usr/include/scsi/scsi.h: In function 'scsi_varlen_cdb_length':
 /usr/include/scsi/scsi.h:156: error: 'struct scsi_varlen_cdb_hdr' has no member named 'additional_cdb_length'

なんてエラーが出るが、これは /usr/include/scsi.h で
  /* defined in T10 SCSI Primary Commands-2 (SPC2) */
 struct scsi_varlen_cdb_hdr {
 	u8 opcode;        /* opcode always == VARIABLE_LENGTH_CMD */
 	u8 control;
 	u8 misc[5];
 	u8 additional_cdb_length;         /* total cdb length - 8 */
 	__be16 service_action;
 	/* service specific data follows */
 };

という部分が問題になるらしい。最近のカーネルだと u8 ではなく __u8 になるらしくて、
ccs_modesel_head では

 struct ccs_modesel_head {
 	__u8 _r1;			/* reserved */
 	__u8 medium;		/* device-specific medium type */
 	__u8 _r2;			/* reserved */

となっているのだけど、scsi_varlen_cdb_hdr の方は直し忘れているのだろうなぁ。

polkit-gobject-1.pc は PolicyKit-0.94  に入っているようだけど、PolicyKit を上げるのはちょっと不安だな。。

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS