Hide Forgot
Description of problem: GNOME session fails to start after upgrade of kernel on rhel7.0 or rhel7.1 gnome-shell fails to start with below message after upgrade of kernel to RHEL7.2 level (kernel-3.10.0-327.10.1.el7) --- Oh no! Something has gone wrong --- Symbol lookup error for g_type_class_adjust_private_offset observed in messages logs --- gnome-session: /usr/bin/gnome-shell: symbol lookup error: /lib64/libgudev-1.0.so.0: undefined symbol: g_type_class_adjust_private_offset --- Version-Release number of selected component (if applicable): rhel7.0 rhel7.1 kernel-3.10.0-327.10.1.el7 systemd-219-19.el7 libgudev1-219-19.el7 glib2-2.36.3-5.el7 How reproducible: Always Steps to Reproduce: 1. Install latest (rhel7.2) kernel on rhel7.0 system yum install kernel 2. Try to restart GUI on console or within vnc session. Actual results: Oh no! Something has gone wrong Expected results: GUI should start without any issue. Additional info: Install of new kernel on rhel7.0 pulls few dependencies. systemd and libgudev1 of these is causing problem. The packages get updated to new release without glib2 which is still at older release and hence symbol lookup error is observed. systemd spec should have entry of Requires: glib2 >= 2.42
If I am not mistaken this is a glib problem. They have changed the api without bumping soname. And the dependencies on libraries are added automatically, they should not be in spec.
Lukáš, at the moment the burden is on dependent packages to bump the Requires. See https://bugzilla.redhat.com/show_bug.cgi?id=300241 and many others. GLib doesn't use versioned symbols, so dependent packages have to manually increase the Requires:. I know it sucks, and RPM could handle this better, but it is the way it is. It's not a matter of soname bumping as no ABI broke, it was just added. So, optionally please do consider editing the systemd spec file to use >= 2.42.
Ok, lets add that in our spec.
I have encountered the same problem. Add me in CC
# rpm -q libgudev1 libgudev1-219-22.el7 # rpm --requires -q libgudev1 | grep glib2 glib2 >= 2.42 libgudev1 now requires glib2 of version 2.42 and higher. Marking as verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-2216.html