Red Hat Bugzilla – Bug 1436273
ghostscript update cause symbol lookup error
Last modified: 2017-08-01 19:03:50 EDT
Description of problem: After update ghostscript gs fails with gs: symbol lookup error: /lib64/libgs.so.9: undefined symbol: cmsCreateContext ghostscript.x86_64 0:9.07-18.el7 will be updated ghostscript.x86_64 0:9.07-20.el7_3.1 will be an update Version-Release number of selected component (if applicable): ghostscript.x86_64 0:9.07-20.el7_3.1 How reproducible: 100% Steps to Reproduce: Update ghostscript.x86_64 0:9.07-18.el7 to ghostscript.x86_64 0:9.07-20.el7_3.1 Actual results: gs: symbol lookup error: /lib64/libgs.so.9: undefined symbol: cmsCreateContext Expected results: gs without symbol lookup error Additional info: This is because of lcms2 ghostscript.x86_64 0:9.07-20.el7_3.1 with lcms2-2.5-4.el7.x86_64 fails ghostscript.x86_64 0:9.07-20.el7_3.1 with lcms2-2.6-2.el7.x86_64 works Could you please add lcms2-2.6-2.el7.x86_64 as dependency for ghostscript.x86_64 0:9.07-20.el7_3.1 ? Thank you
Hello, as you can see here: $ rpm -qpR ghostscript-9.07-20.el7_3.3.x86_64.rpm | grep lcms2 > liblcms2.so.2()(64bit) The ghostscript-9.07-20.el7_3.3.x86_64.rpm has the dependency requirement for *lcms2*. If you try to install the ghostscript package with 'yum install', it will automatically install current lcms2 package for RHEL-7.3 (lcms2-2.6-3.el7.x86_64). Removing the lcms2 package will actually remove the ghostscript package as well. In other words, the ghostscript package has the requirements for lcms2 package, and in current RHEL-7.3 repositories there should the lcms2 version 2.6 available. Looking into the specfile: > BuildRequires: lcms2-devel >= 2.4-5 The only thing I can do is to increase the version requirement for this, but from your problem description, I'm not sure it would actually solve your problem. Best regards, David
(In reply to David Kaspar [Dee'Kej] from comment #2) > Looking into the specfile: > > BuildRequires: lcms2-devel >= 2.4-5 This is a build-time dependency, not run-time dependency. Library dependencies are scanned by rpm-build automatically and everything should just work if the shared libraries are properly versioned (by their SONAMEs). If they are not, you need to introduce an explicit run-time dependency.
(In reply to Kamil Dudka from comment #5) > Library > dependencies are scanned by rpm-build automatically and everything should > just work if the shared libraries are properly versioned (by their SONAMEs). Yeah, this was my thinking initially. I didn't expect that 'yum upgrade' wouldn't update the lcms2 package as well, but I guess our customer used the 'yum upgrade ghostscript' command, which would explain the problem. > If they are not, you need to introduce an explicit run-time dependency. Yes, I will add the explicit 'Requires: lcms2 >= 2.6-1' (2.6-3 if necessary). Thanks.
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://access.redhat.com/errata/RHSA-2017:2180