Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

32-bit ghostscript, required for ImageWriter and other printers using CUPS

Is there any updated version of Ghostscript, required for ImageWriter and many other Printers?

Mojave reports the standard version is 32-bit only.

Posted on Oct 7, 2019 12:54 PM

Reply
47 replies

Oct 7, 2019 2:15 PM in response to Grant Bennet-Alder

We're going to have to build a 64-bit version of gs.


You first 😆


It's on my list of things to do, which could take a long time. As far as I know, that should enable the ImageWriter to remain operational, provided it remained so under Mojave.


If and when you make any progress, I'd sincerely appreciate adding a comment to Apple ImageWriter printer installation in… - Apple Community.


ASC's new format converted it sloppily, and also precludes editing it without a lot of work.

Oct 17, 2019 11:53 AM in response to Grant Bennet-Alder

Thanks Grant. I'm pleased to report that Mr. etresoft's package installs and works perfectly in Catalina. He also sent me a link to Suspicious Package. I used it to inspect Dr. Koch's installer, which I did not test for reasons I'll explain.


It's probably ok, but for our purposes it may not offer anything particularly advantageous. For example it includes support for additional fonts, as well as X11, but none of that matters to me. Also: since it predated app notarization it's signed, but not notarized. At present that doesn't matter either, but who knows what "security" requirements Apple may impose in the future. So, I didn't test it.


Right after 9.20 Artifex seems to have set about ripping out the PPC support, which is how ImageWriter driver appears to have been tossed aside.


The reason the ImageWriter appears to have been removed from later gs versions remains a mystery to me. I can only speculate that somewhere along the way someone conflated it with the PowerPC, and tossed it out. If that's the reason, removing it was unjustified.


Anyway, the good news is that not only is there an option for 64-bit Ghostscript that retains the ImageWriter drivers, thanks to etresoft we have the luxury of two options.


For now I'm beyond pleased I won't have to keep Mojave around just for them. If you are interested in exploring options for retiring your dedicated Mac / AppleTalk "print server" (which seems like an unattractive workaround to me) please let me know. Additional options exist today, beyond what I discussed in my User Tips.

Oct 8, 2019 8:19 AM in response to Grant Bennet-Alder

Am I going to have to do all this work myself 😀


  • the good news, and there's not much of it: gs itself works fine.
  • the bad news: I'm going to have to learn Ghostscript.


After moving the newly compiled gs to /usr/local/bin/ and attempting a print job, the ImageWriter prints "unknown device: iwhi"


The fact it prints anything at all is good. "iwhi" is the driver that prints 120 by 144 DPI output, contained in the ImageWriter package obtained from the Linux Printing site. At a minimum I need to figure out how that argument gets passed to gs or why it's "unknown". Strictly speaking I don't believe "iwhi" is an executable app like gs, so 64-bit compatibility should not be relevant, but I don't even know where it resides. It gets installed in the usual CUPS manner.


That's also the reason I'd like to create an installation package compatible with Catalina. I need to revisit how that works.


Edit: Maybe I just need to delete the existing entry in Printers & Scanners, and add it again. That's what I tell everyone else do to.

Oct 8, 2019 6:53 PM in response to Grant Bennet-Alder

Grant Bennet-Alder wrote:

If you can move around Terminal and type a few terminal commands, or as you suggested, use HomeBrew, the whole process is not overwhelming.


I agree it's not that bad.


I'm at a roadblock trying to add those three devices to the gs build: iwhi iwlo and iwlq. If you compile gs from source code, it includes a lot of drivers, but those are missing.


Try it for yourself: from wherever it resides on your Mac, run gs -h


  • My older gs 8.71 (the 32-bit one that worked until Cat) returns a total of 323 "available devices" including iwhi, iwlo, and iwlq
  • The new gs 9.27 returns 335 "available devices" but the three we need are absent. That's an obvious show-stopper.


It also states "Initialization files are compiled into the executable" which appears to imply you have to add those devices to the build when compiling it. I don't know how to do that, so I'm investigating its documentation.


As far as those devices themselves: The old Linux Printing Imagewriter.pkg won't install in recent macOS versions, perhaps due to SIP, or perhaps other reasons. It doesn't tell you the reason it fails. However, you can manually open the package, and within it find and extract three ImageWriter PPDs. They are readable ASCII text. If you follow my User Tip, that appears to be the package that makes those drivers available to CUPS as well as Printers & Scanners so you can choose its driver, and then everything works.


There is probably more to it than that, but I never knew what it was and no one was talking any more. Anyone who worked on that package seems to be long gone. I know nothing about packaging, but all the other files in that .pkg don't appear to be specific to the ImageWriter. If there are other files required strictly for the IW, I don't know what they are, but it's clear to me you have to include them when building gs from its source. Somehow.

Oct 7, 2019 4:22 PM in response to John Galt

<<ImageWriter to remain operational, provided it remained so under Mojave.>>


It works under Mojave, provided you have been keeping up and have already moved gs and all the filters from:


/usr/local/sbin

to

/usr/libexec/cups/filters


Mine still spools to an AppleTalk ImageWriter with an iPrint adapter via AppleTalk-over-Ethernet provided by a 10.4 computer on my network.


I was watching it print and saw the momentary warning that gs was not updated or something. Then it dawned on me what "gs" was, and why it was in trouble. gs=ghostscript 8.7.1



Oct 7, 2019 5:20 PM in response to Grant Bennet-Alder

Grant Bennet-Alder wrote:

It works under Mojave, provided you have been keeping up and have already moved gs and all the filters from: ...


I know. I've only been using them for 35 years.


gs is a show-stopper until I compile a 64 bit version. I'd rather have someone do it for me though.


Mine still spools to an AppleTalk ImageWriter with an iPrint adapter via AppleTalk-over-Ethernet provided by a 10.4 computer on my network.


That's a tortured way of going about it. You can use a wireless print server like I do, and AppleTalk isn't required—meaning, you don't even need an LocalTalk option card. It's just serial. There are plenty of other options. Without Ghostscript though, it's dead in Catalina.


Gimp-Print / Gutenprint isn't an option. I've been down that road.


Oct 7, 2019 9:19 PM in response to Grant Bennet-Alder

Grant, the gs I've been using resides at /usr/local/bin/gs on all my Macs.


It's obviously been working there, so your installation is different. I never moved gs or anything else to /usr/libexec/cups/filter although that folder contains an alias of foomatic-rip that points to /usr/local/bin/


I was under the impression that's where it should be so I don't know why yours is different. Give me some time and I'll post screenshots of my corresponding folders so you can compare them to yours.


etresoft wrote:

I just compiled Ghostscript. Only took about 3 minutes. I don’t know if there are any associated files requires. The basic gs command seems to work.


Same here, so I now have gs version 9.27.


That's about all I've done so far though. I think moving it to /usr/local/bin/ at least ought not to break anything.


Yes there are a lot of associated files, and if any of those existing files poses a problem I'll have a lot more work on my hands. Those files are the product of package installers that don't function any more.


Packaging is something I've wanted to do for a long time. If I ever figure that out, I'll update the Linux Foundation's webpage. I didn't think there was anyone interested in those printers any more.

Oct 8, 2019 10:32 AM in response to John Galt

... the ImageWriter prints "unknown device: iwhi"


Sure enough "iwhi" is not one of the devices. None of the ImageWriters are. There should be at least these three: iwhi iwlo iwlq 


gs reports "Initialization files are compiled into the executable." So there's the answer to that question. I need to find a way to do that. Clues are almost certain to be found in the installer package(s).


Am I going to have to do all this work myself 😀


Your plan is working.

Oct 8, 2019 11:38 AM in response to John Galt

RE: location of gs and filters


You may (or may not) recall that at 10.7 cupsomatic broke, and YOU moved on to Foomatic-rip. But mine is not exactly like yours, so mine kept on working for years after that.


I print to another computer across my home network. That means that only the first part, making a PDF out of the Print stream, is processed locally. Then that pdf is sent across the network to a computer running 10.4 CUPS and Foomatic for rasterization and eventual printing.


My cupsomatic did not break until MUCH later. When I went looking for the reasons, I found a whole lot of information from people whose Foomatic printers had stopped working, mostly due to increased sandboxing. Solutions proffered included:


1) Matt Broughton's script and advice in your old thread discussing this issue. His recommendation to "remove one line" completely broke networked CUPS. I was not pleased.


2) addition of "Sandboxing relaxed" in a CUPS configuration file.


3) suggestion from completely different sources to move gs and filters to a less-restricted location (also to get around sandboxing). THAT is what I mistakenly thought I got from you, but it turns out to be from another source. and your are now saying it was never even necessary.


I seem to have implemented both 2 and 3, and also had to fix the .ppd file because its margins were wrong. But I had also lost a preference file from an App I use, and that caused additional printing grief.



Oct 8, 2019 11:44 AM in response to John Galt

<<Am I going to have to do all this work myself 😀>>


Someone cited mathematician from U of Oregon as having an already built and installable Ghostscript 8.7.1 sitting on his web site, ready to install. He has it there to support his colleagues typesetting with TEX variants.


He has moved up to 9.1.7, already packaged into an Installer:


https://pages.uoregon.edu/koch/


So I suggest someone will need to see if that works, for those overwhelmed by the complexity of the big build of gs.

Oct 8, 2019 12:43 PM in response to Grant Bennet-Alder

Yes; I do remember that. I completely bypassed cupsomatic in favor of foomatic.


I assume the Mac you're using is little more than a dedicated print server, if not exclusively so. If that's the case, and you want to finally retire it in favor of what I've been doing, I'll help. I tend to overlook what's obvious to someone else (and vice versa) so I could use yours too. Literally no one else is interested... I haven't had any emails about it in the past two, maybe three years. Ironically though, serial device server options are more plentiful today, so it's even more reason for you to consider that solution.


1) Matt Broughton's script and advice in your old thread discussing this issue. His recommendation to "remove one line" completely broke networked CUPS. I was not pleased.


I remember that too. I cajoled him enough already and I'm pretty sure he lost interest long ago. On the bright side I was granted administrator access to the Linux Printing website and would be happy to keep it maintained, if I only had something useful to add. I'm as yet undecided whether I just want to keep my systems running, or whether I want to create an installer package that anyone could use. Either solution ought to work for you, and you could retire your Tiger machine.


But I don't have that solution yet.


3) suggestion from completely different sources to move gs and filters to a less-restricted location (also to get around sandboxing).


Yes. /usr/local/bin/ resides beyond SIP so in my opinion that's the right place to install gs and everything else it (apparently) needs to work.

Oct 8, 2019 4:22 PM in response to John Galt

/usr/local/bin is exactly where our friend Dr. Koch stashes two flavors of gs (with and without X11) and

a flock of psto... and pdfto... filters. 28 files in all


/usr/local/sbin is where the original gs and filters from the days of imagewriter foomatic-rip were stored.


/usr/libexec/cups/filter is where someone else suggested they all be merged into, since there were already some CUPS files there, to get out of the reach of sandboxing or SIP or maybe both. 58 items when all the filters are merged with what was there.



Oct 8, 2019 4:30 PM in response to etresoft

About the time it takes homebrew to download, compile, and install it in /usr/local/bin/gs. According to the following script, it is dependent upon jpeg and libtiff.


#/bin/bash

# Usage: brewdeps.sh

while read cask
do
    echo -e -n "\033[33m$cask -> \033[0m"
    brew deps $cask | awk '{printf(" %s ", $0)}'
    echo ""
done < <(brew list)
exit 0


32-bit ghostscript, required for ImageWriter and other printers using CUPS

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.