Bug 691644

Summary: [9.00] No way to build against system lcms
Product: Ghostscript Reporter: Tim Waugh <twaugh>
Component: Build ProcessAssignee: Chris Liddell (chrisl) <chris.liddell>
Status: RESOLVED FIXED    
Severity: enhancement    
Priority: P4    
Version: master   
Hardware: PC   
OS: Linux   
Customer: Word Size: ---

Description Tim Waugh 2010-09-24 13:41:07 UTC
With other libraries such as zlib, libjpeg, jasper etc there are mechanisms for using the system-provided library.  This should be done for lcms as well.
Comment 1 Ray Johnston 2010-09-24 17:23:26 UTC
Just as with other 'shared libraries', I am not in favor of this because we
do extensive testing with the version of the libraries shipped with ghostscript
using many test suites not available to others. Any differences between our
libraries and the system libraries (version skew) can cause problems.

To the degree that system libraries can be 'shared', Artifex will only support
bugs that are reproducible with the non-shared third party libraries that are
shipped with Ghostscript.
Comment 2 Tim Waugh 2010-09-25 10:03:48 UTC
The reason it is the right thing to do is that very often there are security bugs with these types of library.  For an operating system distribution it is much safer to have only one copy of each security bug, rather than several scattered around in various bundled forms.

Every project that uses any other project has this issue of testing, and yet virtually no-one else bundles libraries.

I'm not asking for something new in ghostscript: this is already done for the majority of other shared library components.
Comment 3 Chris Liddell (chrisl) 2011-02-02 11:27:22 UTC
fixed in 12097.

Although, this comes with the same caveats as other libraries: building Ghostscript against anything other than our included sources may give undefined/undesirable results.

Any problems reported must be reproducible with the sources included in the Ghostscript distribution.

In the case of lcms, there is at least one bug which is fixed in our sources which is not, to my knowledge, in any "official" lcms release.

Requires lcms, *not* lcms2.