2012年11月28日水曜日

Gentooのemergeでdbusへリンクするパッケージがこける

Gentooのアップデートを久しぶりにやったらglibパッケージがこけてる

以下エラーメッセージ
poke ~ # emerge glib
 * IMPORTANT: 6 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.
 * IMPORTANT: 7 config files in '/etc/portage' need updating.
 * See the CONFIGURATION FILES section of the emerge
 * man page to learn how to update config files.
Calculating dependencies... done!

>>> Verifying ebuild manifests



>>> Emerging (1 of 1) dev-libs/glib-2.26.1-r1

 * glib-2.26.1.tar.bz2 RMD160 SHA1 SHA256 size ;-) 
...
...
...
gdbus_serialization-gdbus-serialization.o: In function `message_serialize_invalid':
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:776: 
undefined reference to `dbus_message_new'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:777: 
undefined reference to `dbus_message_set_serial'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:778: 
undefined reference to `dbus_message_set_path'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:779: 
undefined reference to `dbus_message_set_member'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:784: 
undefined reference to `dbus_message_append_args'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:807: 
undefined reference to `dbus_message_marshal'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:818: 
undefined reference to `dbus_free'
...
大量に出力されるので省略

dbus関連のライブラリが見つからないって出てるのでライブラリとを確認

poke lib64 # ls -l | grep libdbus
lrwxrwxrwx  1 root root       17 Jan 17 15:40 libdbus-1.la -> libdbus-glib-1.la
lrwxrwxrwx  1 root root       18 Feb 27 10:43 libdbus-1.so -> libdbus-1.so.3.5.3
lrwxrwxrwx  1 root root       18 Feb 27 10:43 libdbus-1.so.3 -> libdbus-1.so.3.5.3
-rwxr-xr-x  1 root root   290256 Feb 27 10:43 libdbus-1.so.3.5.3
-rw-r--r--  1 root root   278208 Jun 27  2010 libdbus-glib-1.a
-rw-r--r--  1 root root     1026 Feb  9 23:06 libdbus-glib-1.la
lrwxrwxrwx  1 root root       23 Jun 27  2010 libdbus-glib-1.so -> libdbus-glib-1.so.2.1.0
lrwxrwxrwx  1 root root       23 Jun 27  2010 libdbus-glib-1.so.2 -> libdbus-glib-1.so.2.1.0
-rwxr-xr-x  1 root root   147864 Jun 27  2010 libdbus-glib-1.so.2.1.0
確認のため調べてみてもちゃんと関数がある
poke lib64 # nm -D libdbus-1.so | grep dbus_message_new
000000000001c820 T dbus_message_new
なにか違う共有ライブラリをリンクしようとしているらしい、libdbus-1.laの中身を除いてみたら何か違うような気がしたので、頭にきて削除してやった。
# emerge glib
すんなり終了、原因はlibtoolが先に参照するファイルが.laらしくたまにリンク時におかしな事になるらしい。
こんなのおれだけ?

どうでもいいけど、libtool調べておくか...

0 件のコメント:

コメントを投稿