Re: Ghostscript/GhostPDL 9.23 Release Candidate 1

Chris Liddell <[email protected]> Tue, 20 Mar 2018 13:13:54 +0000
Newsgroups gmane.comp.printing.ghostscript.devel
Message-ID <[email protected]>
Hi Johannes,

On 20/03/18 09:53, Johannes Meixner wrote:
> 
> Hello Chris,
> 
> On Mar 16 08:39 Chris Liddell wrote (excerpt):
>> On 15/03/18 10:40, Johannes Meixner wrote:
>>> ... I think since ghostscript-9.23rc1 the examples
>>> in the source directories examples/ and in examples/cjk
>>> are no longer installed by default.
>>
>> Yes, there's really no point installing them - they are handy for a
>> quick smoke test when building a binary (hence still including them in
>> the release archive), but they are of no real use to end users.
> 
> I agree they are of no real use to end users but I still keep them in
> our ghostscript package because I need them for our quick smoke test
> via our separated ghostscript-testing package, see
> https://build.opensuse.org/package/show/Printing/ghostscript-testing
> plus the testing packages gutenprint-testing and hplip-testing,
> for some background information you may have a look at
> https://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c5

There is an "install-examples" target for those that still want/need them.

>> I should point out that for a distribution package, you probably don't
>> want to be building the lcms2art code (the beginning of a lcms2 fork -
>> see News.htm in the release archive). But almost certainly you want to
>> remove the lcms2art directory.
> 
> On older systems I cannot build Ghostscript with SUSE's lcms2
> because on SLE11 and on SLE12-SP1 there is liblcms2-2-2.5
> which is too old so that configure fails there with
>  "configure: error: lcms2 not found, or too old".

Well, that seems reasonable, to be honest.....

> But there is no configure option to build it without lcms2
> so that for SLE11 and SLE12-SP1 it is built with the lcms2art
> in Ghostscript, cf.
> https://build.opensuse.org/package/view_file/Printing/ghostscript/ghostscript.changes?expand=1

If you were to build without lcms2(art) you'd not be building a spec
compliant PDF reader, hence we don't offer that option.

> and for the details how it is actually built see
> https://build.opensuse.org/package/view_file/Printing/ghostscript/ghostscript.spec?expand=1
> 
> 
> This means openSUSE users who use our newest ghostscript package
> from the openSUSE Build Service development project "Printing"
> on their SLE11 or SLE12-SP1 systems act now as early testers
> of lcms2art which is perfectly o.k. because
> https://build.opensuse.org/project/show/Printing
> reads (excerpts):
> ----------------------------------------------------------
> The "Printing" development project may contain
> new software or work-in-progress changes of
> existing software that might neither be in
> a stable state nor fit well into currently
> installed systems.
> ...
> The packages in the "Printing" project are without
> any guarantee or warranty and without any support.
> ...
> If a new version does not work it should usually
> help to downgrade (and to reconfigure as needed)
> to get it working again.
> ----------------------------------------------------------
> 
> FYI:
> 
> Regarding our ppc64le-support.patch that contained
> a fix for lcms2art/include/lcms2art.h in Ghostscript:
> 
> This is what I had in ppc64le-support.patch
> ---------------------------------------------------------------------
> --- ghostscript-9.23rc1/lcms2art/include/lcms2art.h
> +++ ghostscript-9.23rc1/lcms2art/include/lcms2art.h
> @@ -67,6 +67,7 @@
>  #include <limits.h>
>  #include <time.h>
>  #include <stddef.h>
> +#include <endian.h>
> 
>  #ifndef CMS_USE_CPP_API
>  #   ifdef __cplusplus
> ---------------------------------------------------------------------
> 
> It is the same code change as we had since Ghostscript 9.15
> for lcms2 (I adapted only the file name for lcms2art):
> ---------------------------------------------------------------------
> --- ghostscript-9.15/lcms2/include/lcms2.h
> +++ ghostscript-9.15/lcms2/include/lcms2.h
> @@ -67,6 +67,7 @@
>  #include <limits.h>
>  #include <time.h>
>  #include <stddef.h>
> +#include <endian.h>
> 
>  #ifndef CMS_USE_CPP_API
>  #   ifdef __cplusplus
> ---------------------------------------------------------------------
> 
> I don't know if that is still needed to make things work
> on the ppc64le architecture.

We now use the autconf endian test in the configure script, and I'm
given to understand that test is now functional (it was broken for a
long time), so I'd *hope* that patch is no longer required.

I don't have a suitable system to test out ppc64le.

Thanks for the feedback.

Chris