Bug#537572: gnome-settings-daemon can't connect to D-Bus and eats CPU on ia64 due to -Wl, -z-defs

Émeric Maschino emeric.maschino at gmail.com
Tue Nov 22 22:34:31 UTC 2011


Le 14 novembre 2011 23:51, Jonathan Nieder <jrnieder at gmail.com> a écrit :
>> So, to summarize, only libgconf.so and libsmartcard.so didn't need to
>> be replaced by recompiled versions without -z defs flag. I don't know
>> if it'll help further, but they can even be removed from
>> /usr/lib/gnome-settings-daemon-3.0 and both GDM3 and GNOME3 session
>> still run flawlessly.
>
> Thanks, this is interesting.
>
> Now for some stupid questions:
>
>  - does linking with gold instead (i.e., installing binutils-gold)
>   change the outcome?

Sorry for the late reply. Unfortunately, Gold isn't available on ia64,
neither in Wheezy, nor Sid. And I can't make it compile successfully
:-(

>  - does using -Wl,--no-undefined in place of -Wl,-z,defs change
>   anything?

No. But since -z defs and --no-undefined are the same (from the
manpage), that's a good thing ;-)

>   Presumably -Wl,--no-undefined -Wl,--error-unresolved-symbols errors out --- what is the message when it does?

All the plugins complain about missing reference to
gnome_settings_plugin_get_type.

And some have additional missing references (mainly X11-related):
- a11y-keyboard: Xkb{Set|Get}Controls, XkbFreeKeyboard, XSync,
XkbQueryExtension, XkbSelectEvents;
- automount: XkbGetState;
- background: XInternAtom, XGetWindowProperty, XFree;
- clipboard: XSync, XInternAtom, XGetWindowProperty, XFree,
XChangeProperty, XConvertSelection, XSendEvent, XGetWindowAttributes,
XSelectInput, X{Set|Get}SelectionOwner, XCreateSimpleWindow,
XDestroyWindow, XExtendedMaxRequestSize, XMaxRequestSize, XIfEvent;
- keyboard: XkbFreeKeyboard, Xkb{Query|Use}Extension, XInternAtom,
XFree, XGetSelectionOwner, XAutoRepeat{On|Off}, XkbSetAutoRepeatRate,
XChangeKeyboardControl, XkbKeysymToModifiers, XkbSelectEventDetails,
XGetAtomName;
- mouse: floor, floorf, ceil, ceilf;
- print-notifications: notify_notification_new,
notify_notification_set_hint, notify_notification_show;
- xsettings: XInternAtom, XChangeProperty, XSendEvent, XSelectInput,
X{Set|Get}SelectionOwner, XCreateSimpleWindow, XDestroyWindow,
XIfEvent, X{Open|Close}Display, XResourceManagerString.

It's noteworthy than debian/rules top build script passes by default
--warn-unresolved-symbols to the linker, so the above missing
references are obviously hidden. I don't know if these missing
references are thus expected in the present context or if it's
expected that --warn-unresolved-symbols is passed to the linker rather
than --error-unresolved-symbols (default behavior from the manpage).

>  - what does using "-z defs" buy us when the error is demoted to a
>   warning by a later command-line option, anyway?  Though I still
>   don't understand what is causing this code path to break.

Sorry Jonathan, my limited English doesn't allow me to understand this
last section. What do you mean by "buy us"?

     Émeric





More information about the pkg-gnome-maintainers mailing list