Bug 691904 - IJS support can only be built with the shipped source, not with an external shared library
Summary: IJS support can only be built with the shipped source, not with an external s...
Alias: None
Product: Ghostscript
Classification: Unclassified
Component: Build Process (show other bugs)
Version: master
Hardware: PC Linux
: P4 normal
Assignee: Chris Liddell (chrisl)
QA Contact: Bug traffic
Depends on:
Reported: 2011-01-24 10:06 UTC by Till Kamppeter
Modified: 2011-01-26 12:26 UTC (History)
0 users

See Also:
Word Size: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Till Kamppeter 2011-01-24 10:06:23 UTC
At least on Linux and Unix shared libraries provided by the system can be used for everything (libpng, libtiff, ...) except libijs. libijs is available separately on


and ships with most Linux distributions as it is used by the printer driver packages gutenprint, epsonepl, and others. One could save some duplicate code and simplify bug fixes if the Ghostscript packages coming with Linux distributions uses the system-provided libijs and not the libijs source code which comes with Ghostscript.

Can you add support for using the system's libijs for 9.01? Should work the same way as with libpng, libtiff, ...
Comment 1 Ray Johnston 2011-01-24 16:00:15 UTC
I don't think this is a Ghostscript issue. There is no libijs in the sources
we distribute. There is an 'ijs' directory that has the 'ijs_client.c' and .h,
but this consists of functions that interact with the server via the platform
specific ijs_exec_***.c function. The server does all the actual work, and _can_
be built externally. 

Please describe the 'split' in the source distribution that you envision (or
close this bug as 'WORKSFORME' because it's already as good as it can get).
Comment 2 Ray Johnston 2011-01-24 16:47:10 UTC
BTW, the links at the web site provided refer to the Ghostscript sources,
and the HPIJS link goes to a page titled 'hplip'. The other sources linked are
for Gutenprint and Epson drivers. I don't find 'libijs' sources.
Comment 3 Till Kamppeter 2011-01-24 16:52:50 UTC
Ray, the original build system of libijs (in ijs/configure.ac and ijs/Makefile.am, see also ijs/README) builds a shared library libijs. The distributions provide a libijs package using the source code from the original site:


This package provides the shared library /usr/lib/libijs-0.35.so which is used by several IJS-based drivers.

The build system of Ghostscript should behave the same as with libpng, libtiff, ...: If there is no ijs/ directory or if requested by the user via options to "./configure" the shared library of the system (here /usr/lib/libijs-0.35.so) should be used, otherwise the source code of the ijs/directory.
Comment 4 Till Kamppeter 2011-01-24 16:58:50 UTC
As the complete source code is also contained in the Ghostscript source (and there even in its newest form) one could build the shared library libijs even out of the Ghostscript source by running the build system in the ijs/ directory. So distributions should even do it this way to provide libijs to the drivers and then build Ghostscript also to use this libijs to avoid duplication of binary code.
Comment 5 Till Kamppeter 2011-01-24 19:16:51 UTC
For Linux distributions it would be great have build options to create the libijs shared library and to build Ghostscript that it uses this shared library instead of linking in the IJS code.
Comment 6 Chris Liddell (chrisl) 2011-01-26 12:26:07 UTC
fixed in r12063.