diary/Kojima/2009-11-08
の編集
http://sv5.linet.gr.jp/?diary/Kojima/2009-11-08
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
-- 雛形とするページ --
diary/Template
[[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
タイムスタンプを変更しない
[[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
テキスト整形のルールを表示する