If I live long enough, one day I shall post a long article describing the difficulty of using a Solaris-derived system, when the entire open-source world assumes that you are using Linux. But today I have a more specific question.
Because my Schillix system did not come with CUPS, I obtained the source code to it, and, after spending many hours of my life that God intended I should spend on more useful accomplishments, I succeeded in compiling it and getting it to work. And it does work, reasonably well. To get it to compile I had to steal libusb from an old Solaris 10 system that I had, fortunately the two computers were binary-compatible, I could not find source code to libusb for love nor money. But I digress. I do have a functioning cupsd, and when I plug in a new printer to my USB port, cupsd can usually identify it. When you install cupsd from source, however, you do not get a large number, or, in fact, any, PPD files, and after I die, and am called before the Throne of Justice, I shall surely be required to give an accounting to my Creator for all the vast number of hours of my life that I have wasted in tracking down PPD files (which are astonishingly hard for search engines to find) and downloading them, and installing them on my computer. Now, to move on to more specific matters, I have acquired a Lexmark X6170 printer, and after only several hours, located a PPD file for it. The PPD file, however, refers to and depends on a program named rastertoz55. The tar archive from which I obtained this PPD also contains a rastertoz55 program -- in binary format, not in source format, and the binary format is useful only on Linux systems. I know this because I installed the file on a Linux system, and then invoked the following two commands: landru:/tmp # file /usr/lib/cups/filter/rastertoz55 /usr/lib/cups/filter/rastertoz55: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped landru:/tmp # ldd /usr/lib/cups/filter/rastertoz55 linux-gate.so.1 (0xb771f000) liblexz55printjob.so.0 => /usr/lib/liblexz55printjob.so.0 (0xb76ec000) liblexz55core.so.0 => /usr/lib/liblexz55core.so.0 (0xb767a000) libcups.so.2 => /usr/lib/libcups.so.2 (0xb7625000) libcupsimage.so.2 => /usr/lib/libcupsimage.so.2 (0xb7609000) libstdc++.so.5 => not found libm.so.6 => /lib/libm.so.6 (0xb75c2000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb75a5000) libc.so.6 => /lib/libc.so.6 (0xb73f4000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb73b0000) libssl.so.1.0.0 => /lib/libssl.so.1.0.0 (0xb7350000) libcrypto.so.1.0.0 => /lib/libcrypto.so.1.0.0 (0xb7197000) libpthread.so.0 => /lib/libpthread.so.0 (0xb717a000) libz.so.1 => /lib/libz.so.1 (0xb7163000) libtiff.so.5 => /usr/lib/libtiff.so.5 (0xb70ef000) libpng16.so.16 => /usr/lib/libpng16.so.16 (0xb70b2000) libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0xb705b000) /lib/ld-linux.so.2 (0xb7720000) libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb6f9b000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb6f66000) libcom_err.so.2 => /lib/libcom_err.so.2 (0xb6f61000) libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb6f53000) libdl.so.2 => /lib/libdl.so.2 (0xb6f4e000) liblzma.so.5 => /usr/lib/liblzma.so.5 (0xb6f24000) libjbig.so.2 => /usr/lib/libjbig.so.2 (0xb6f17000) libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb6f12000) libresolv.so.2 => /lib/libresolv.so.2 (0xb6ef9000) libselinux.so.1 => /lib/libselinux.so.1 (0xb6ed5000) libpcre.so.1 => /usr/lib/libpcre.so.1 (0xb6e6b000) landru:/tmp # The archive did not come with source code to the rastertoz55 program, only binaries. Of course, the source code, even if I could obtain it, would surely not build correctly on a Solaris-derived system, costing me several more hours of my life, but I would be able to get it to build, eventually. I note in passing that the binary program does not work even on a Linux system, because, as is evident from the above, it depends on an obsolete version of libstdc++, but that fact is of no comfort to me. I should also mention that I have used many printers in the past for which I lacked a PPD file, but I was able to use gs to convert my files to the appropriate printer language, which I then printed out with "lp -o raw", which bypasses the PPD file. I even wrote a clever little program that would recognize its input and perform the appropriate conversion (e.g., convert PostScript and PDF input to the printer language using gs, convert ordinary text files first to PostScript and then to the printer language, and convert troff input first to troff output, then to Postscript, and then to the printer language), and wrote a convenient alias for lpr: # type lpr lpr is a function lpr () { /usr/lib/cups/filter/djcat-ijs ${1+"$@"} | lp -o raw } # It worked well, until now, because now my printer is a Lexmark X6170, which apparently requires input in "z55" format, and I have no idea what the devil "z55" format is, and how to generate it. The "gs -?" command does not mention any device with "z55" in its name. Thus I now turn to the collective wisdom of the membership of this mailing list. How do I generate z55 output, on my Solaris-derived system, so that I can use my printer for something other than a paperweight? As always, I thank you in advance for any and all replies. Jay F. Shachter 6424 N Whipple St Chicago IL 60645-4111 (1-773)7613784 landline (1-410)9964737 GoogleVoice j...@m5.chicago.il.us http://m5.chicago.il.us "This was untrue. I am not even faintly like a rose." _______________________________________________ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss