Bug 1312201 - [SPEC] systemd should require glib2 ?
[SPEC] systemd should require glib2 ?
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: systemd (Show other bugs)
7.2
All Linux
high Severity high
: rc
: ---
Assigned To: systemd-maint
Branislav Blaškovič
: EasyFix, Regression, Reopened
Depends On:
Blocks: 1289485
  Show dependency treegraph
 
Reported: 2016-02-26 00:14 EST by Ashish Shah
Modified: 2016-11-03 20:52 EDT (History)
8 users (show)

See Also:
Fixed In Version: systemd-219-21.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-03 20:52:24 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Ashish Shah 2016-02-26 00:14:13 EST
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
Comment 2 Lukáš Nykrýn 2016-02-26 02:22:04 EST
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.
Comment 4 Colin Walters 2016-02-26 08:35:38 EST
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.
Comment 6 Lukáš Nykrýn 2016-02-29 09:17:23 EST
Ok, lets add that in our spec.
Comment 7 masanari iida 2016-03-02 22:12:42 EST
I have encountered the same problem.
Add me in CC
Comment 10 Branislav Blaškovič 2016-06-30 04:50:27 EDT
# 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.
Comment 12 errata-xmlrpc 2016-11-03 20:52:24 EDT
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

Note You need to log in before you can comment on or make changes to this bug.