[Techtalk] compiling Ghostscript

Almut Behrens almut_behrens at yahoo.com
Wed Jan 2 13:03:15 EST 2002

On Tue, Jan 01, 2002 at 08:09:24PM +0100, Rebecca J. Walter wrote:
> My husband and I are having a horrible time trying to compile
> Ghostscript 7.03 to support an HP OfficeJet.  It needs hpijs support,
> which should be included in this Ghostscript version. We installed the
> HP stuff it required first.  Edited the make file as directed on the
> Ghostscript page and it aborted making the ijs.dev (no rule to make
> target).
> Can anyone out there give us any ideas?  I tried editing contrib.mak to
> make it make ijs.dev, which worked when i told it to make hpijs.dev, but
> gave the error:
> AFPL Ghostscript 7.03: Unrecoverable error, exit code 1
> when my husband attempted to use it.  A google search on the original
> compilation error didn't help.  I also tried checking the ghostscript
> build bugs and didn't find anything there either.

I don't know whether you've already come across the page


It contains reasonably detailed specific instructions for adding the
ijs driver to ghostscript. In particular, take a look at section 5.b.-d.
IMHO, the general instructions provided with gs are not very elaborate
on what you'd need to do to add drivers for which there doesn't already
exist a pre-written rules section in either contrib.mak or devs.mak.

When briefly looking over those instructions, I'd say that there's a
minor glitch in 5.d.: you'd probably have to write "$(DD)ijs.dev"
instead of what it says ("ijs.dev"), for adding the driver to the list
of device targets to build. This could lead to a "no rule..." error
like you are getting (except if DD is empty -- but then, why have it?).
I didn't actually take a closer look at the gs build intrinsics, though,
so I may be wrong here.

The "no rule to make target" error simply means what it says, i.e. that
it cannot find a rule specifying how to build the target in question
(though that probably only makes sense if you are familiar with the
mechanics of makefiles).

(BTW, under similar circumstances, older makes complained with "don't
know how to make <target>", which gave rise to the ancient unix joke:
"$ make love" -> "don't know how to make love"...)

A rule is a combination of a target, its dependencies, and the
instructions (commands) that are needed to generate the target,
written in the format:

target : dependencies

Before the target is (or can be) built, make makes sure that the
target's dependencies are available and up-to-date, and if not, it
builds them by looking up their rules and executing the commands
given therein, etc.  Maybe I'm telling you nothing new...

Anyway, with this general understanding you should be able to further
track down problems of the kind you were getting, yourself.
If you still can't get gs to build, you might perhaps want to provide
further details on what *exactly* you did -- e.g. post the modified
sections of the makefiles, and such...

Good luck,


More information about the Techtalk mailing list