diary/Kojima/2012-03-11
の編集
http://sv5.linet.gr.jp/index.php?diary/Kojima/2012-03-11
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
-- 雛形とするページ --
diary/Template
[[diary/Kojima]] ・libcom_err.so 多分、どっちでも問題ないレベルの話だけど、しばらくハマっていたのでメモ代り。 OpenLDAP-2.4.29 -> heimdal-1.5.2 とビルドしてきて、samba-3.6.3をビルドしてみたのだけど、 よく見ると、/usr/sbin/smbd が参照しているライブラリがx86とx86_64でちょっとだけ異なっている。 $ diff -u x86 x86_64 --- x86 2012-03-11 10:31:47.202454283 +0900 +++ x86_64 2012-03-11 13:07:38.800407709 +0900 @@ -1,4 +1,4 @@ -/lib/ld-linux.so.2 +/lib64/ld-linux-x86-64.so.2 libacl.so.1 libasn1.so.8 libattr.so.1 @@ -6,7 +6,7 @@ libavahi-common.so.3 libc.so.6 libcap.so.2 -libcom_err.so.1 +libcom_err.so.2 libcrypt.so.1 libcrypto.so.1.0.0 libcups.so.2 @@ -40,4 +40,4 @@ libwbclient.so.0 libwind.so.0 libz.so.1 -linux-gate.so.1 +linux-vdso.so.1 具体的には、x86ではlibcom_err.so.1を参照するのに、x86_64ではlibcom_err.so.2を参照している。 あれれ、と思って調べてみると、libcom_err.so.1はheimdalパッケージ由来で、libcom_err.so.2はe2fsprogs由来。 パッケージを調べてみると、x86用のe2fsprogs(e2fsprogs-1.42-i586-P1.txz)にも、 x86_64用のe2fsprogs(e2fsprogs-1.41.12-x86_64-P2.txz)にも/lib{,64}/libcom_err.so.2.0.0は存在し、 /usr/lib{,64}/libcom_err.so からのリンクも存在している。 それなのに、なぜx86環境ではe2fsprogs由来のlibcom_err.so.2ではなく、 heimdal由来のlibcom_err.so.1を見にいってしまうのだろう、、とsambaのconfigureスクリプトを読んでみたら、 /usr/bin/compile_etコマンドの有無でe2fsprogsのlibcom_err.soが使えるかを判別しているようだった。 そこで改めてパッケージのリストを見ると、x86_64用には/usr/bin/compile_etがあるけど、x86用には無い。 さらによく見たら、x86_64用には/usr/lib64/pkgconfig/com_err.pcがあるけど、x86用には無い。 どうやらこのヘンだろうと目星を付けて、PlamoBuildスクリプトを調べたら、x86_64用では make install してから make install-libs しているけど、x86用では make install しかしていなかったのが原因っぽい。 多分、シンボル等は解決できているはずなので、参照先がlibcom_err.so.1でもlibcom_err.so.2でも問題にはならないとは 思うけど、念のため、このあたり両者が同じ内容になるようにパッケージングをし直す予定。 - e2fsprogsをビルドし直してsambaを再ビルドしても、x86環境ではlibcom_err.so.2を見にゆくので、おかしいなぁ、、と調べなおしたら、hemdalパッケージがe2fsprogsのcompile_etを見て、自分の持っている libcom_err.so.1 をビルドするかどうかを決めているようで、e2fsprogs -> heimdal -> samba という順番になる模様。 -- [[kojima]] &new{2012-03-12 (月) 00:10:07}; - すみません.e2fsprogs最新だと両方ともinstall-libsしてませんでした.(今もx86_64の方の最新はしてないはず) こないだ32/64bitを合わせる際に入れ忘れてたようです.64bitも作り直す必要ありますね. -- [[TenForward]] &new{2012-03-13 (火) 19:46:34}; - 作り直して P2 として置いておきました. -- [[TenForward]] &new{2012-03-13 (火) 19:53:08}; #comment
タイムスタンプを変更しない
[[diary/Kojima]] ・libcom_err.so 多分、どっちでも問題ないレベルの話だけど、しばらくハマっていたのでメモ代り。 OpenLDAP-2.4.29 -> heimdal-1.5.2 とビルドしてきて、samba-3.6.3をビルドしてみたのだけど、 よく見ると、/usr/sbin/smbd が参照しているライブラリがx86とx86_64でちょっとだけ異なっている。 $ diff -u x86 x86_64 --- x86 2012-03-11 10:31:47.202454283 +0900 +++ x86_64 2012-03-11 13:07:38.800407709 +0900 @@ -1,4 +1,4 @@ -/lib/ld-linux.so.2 +/lib64/ld-linux-x86-64.so.2 libacl.so.1 libasn1.so.8 libattr.so.1 @@ -6,7 +6,7 @@ libavahi-common.so.3 libc.so.6 libcap.so.2 -libcom_err.so.1 +libcom_err.so.2 libcrypt.so.1 libcrypto.so.1.0.0 libcups.so.2 @@ -40,4 +40,4 @@ libwbclient.so.0 libwind.so.0 libz.so.1 -linux-gate.so.1 +linux-vdso.so.1 具体的には、x86ではlibcom_err.so.1を参照するのに、x86_64ではlibcom_err.so.2を参照している。 あれれ、と思って調べてみると、libcom_err.so.1はheimdalパッケージ由来で、libcom_err.so.2はe2fsprogs由来。 パッケージを調べてみると、x86用のe2fsprogs(e2fsprogs-1.42-i586-P1.txz)にも、 x86_64用のe2fsprogs(e2fsprogs-1.41.12-x86_64-P2.txz)にも/lib{,64}/libcom_err.so.2.0.0は存在し、 /usr/lib{,64}/libcom_err.so からのリンクも存在している。 それなのに、なぜx86環境ではe2fsprogs由来のlibcom_err.so.2ではなく、 heimdal由来のlibcom_err.so.1を見にいってしまうのだろう、、とsambaのconfigureスクリプトを読んでみたら、 /usr/bin/compile_etコマンドの有無でe2fsprogsのlibcom_err.soが使えるかを判別しているようだった。 そこで改めてパッケージのリストを見ると、x86_64用には/usr/bin/compile_etがあるけど、x86用には無い。 さらによく見たら、x86_64用には/usr/lib64/pkgconfig/com_err.pcがあるけど、x86用には無い。 どうやらこのヘンだろうと目星を付けて、PlamoBuildスクリプトを調べたら、x86_64用では make install してから make install-libs しているけど、x86用では make install しかしていなかったのが原因っぽい。 多分、シンボル等は解決できているはずなので、参照先がlibcom_err.so.1でもlibcom_err.so.2でも問題にはならないとは 思うけど、念のため、このあたり両者が同じ内容になるようにパッケージングをし直す予定。 - e2fsprogsをビルドし直してsambaを再ビルドしても、x86環境ではlibcom_err.so.2を見にゆくので、おかしいなぁ、、と調べなおしたら、hemdalパッケージがe2fsprogsのcompile_etを見て、自分の持っている libcom_err.so.1 をビルドするかどうかを決めているようで、e2fsprogs -> heimdal -> samba という順番になる模様。 -- [[kojima]] &new{2012-03-12 (月) 00:10:07}; - すみません.e2fsprogs最新だと両方ともinstall-libsしてませんでした.(今もx86_64の方の最新はしてないはず) こないだ32/64bitを合わせる際に入れ忘れてたようです.64bitも作り直す必要ありますね. -- [[TenForward]] &new{2012-03-13 (火) 19:46:34}; - 作り直して P2 として置いておきました. -- [[TenForward]] &new{2012-03-13 (火) 19:53:08}; #comment
テキスト整形のルールを表示する