View Issue Details

IDProjectCategoryView StatusLast Update
0015495CentOS-7pangopublic2018-12-02 19:02
ReporterRangerRick 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionno change required 
PlatformLinuxOSRHELOS Version7.6
Product Version7.0-1406 
Target VersionFixed in Version 
Summary0015495: CentOS libpango incompatible with RHEL 7.6
DescriptionWe have a custom-built RRDtool package built against CentOS 7 which is ending up with a symbol reference to libpango that doesn't exist in RHEL 7.6. Originally I assumed it was just some kind of incompatibility from epel packages or something so I built a CentOS 7.0 VM with *0* updates and rebuilt our rrdtool package as 1.6.0-0.5 and the problem persists. The CentOS version of libpango (and/or glib2) are exporting a `g_log_structured_standard` that does not exist in the RHEL version.

When attempting to use our librrd on RHEL 7.6, it throws the following error:

```
[root@onms ~]# rpm -q rrdtool
rrdtool-1.6.0-0.5.opennms.el7.centos.x86_64
[root@onms ~]# rrdtool
rrdtool: symbol lookup error: /usr/lib64/libpango-1.0.so.0: undefined symbol: g_log_structured_standard
```
Steps To Reproduce1. build `http://yum.opennms.org/develop/centos7/rrdtool/rrdtool-1.6.0-0.5.opennms.el7.centos.src.rpm` on any CentOS 7 version (I built against ~7.3/7.4 or so originally, and then against a clean 7.0 to attempt to avoid incompatibilities)
2. install on RHEL 7.6 (we're using AWS's official RHEL 7.6 AMI)
3. run `rrdtool` and get a symbol error referencing `g_log_structured_standard`
Additional InformationThe sample RPMs you can use to reproduce this are here: http://yum.opennms.org/develop/centos7/rrdtool/
TagsRHEL
abrt_hash
URL

Activities

toracat

toracat

2018-11-27 23:06

manager   ~0033158

On my RHEL 7.6 system, I see the following:

$ rpm -q `rpm -qf /usr/lib64/libpango-1.0.so.0`
pango-1.42.4-1.el7.x86_64

$ readelf -s /usr/lib64/libpango-1.0.so.0 | grep g_log
   169: 0000000000000000 0 FUNC GLOBAL DEFAULT UND g_log_structured_standard

$ nm -D /usr/lib64/libpango-1.0.so.0 | grep g_log
                 U g_log_structured_standard

So, 'g_log_structured_standard' seems to be there.
RangerRick

RangerRick

2018-11-29 16:25

reporter   ~0033180

First, I apologize, it was an RHEL 7.5 install, not 7.6.

I have found the source of the issue, it appears to be a bug in RHEL's dependencies upstream.

The steps to reproduce are this:
1. bring up an AWS RHEL 7.5 AMI instance
    - this has glib2-2.54.2-2.el7.x86_64 installed
2. install the `rrdtool` rpm
    - this includes pulling in pango-1.42.4-1.el7.x86_64 which appears to have been compiled against glib2-2.56.1-2.el7.x86_64 which includes the extra symbol
    - pango does *not* have a dependency on glib2 2.56, it only depends on glib2(x86-64) >= 2.33.12
3. running `rrdtool` throws the error in my initial report
4. upgrading glib2 fixes the error
toracat

toracat

2018-12-02 19:02

manager   ~0033191

Glad that you found the fix. I'm closing the ticket as this is not a CentOS bug, but you may want to file a bug report upstream (Red Hat).

Issue History

Date Modified Username Field Change
2018-11-27 17:02 RangerRick New Issue
2018-11-27 17:02 RangerRick Tag Attached: RHEL
2018-11-27 23:06 toracat Note Added: 0033158
2018-11-29 16:25 RangerRick Note Added: 0033180
2018-12-02 19:02 toracat Status new => resolved
2018-12-02 19:02 toracat Resolution open => no change required
2018-12-02 19:02 toracat Note Added: 0033191