Welcome to Gutenprint 5.2.15! Please read these notes carefully. *** NOTE TO PACKAGERS: Please read the file README.package for issues that are of interest to distributors and packagers of Gutenprint. It is not necessary for end users of Gutenprint to read this file. ================================================================ I) INTRODUCTION Gutenprint is a suite of printer drivers for UNIX, Linux, and Macintosh OS X systems (10.6 and above) that use CUPS as their printing system. Gutenprint currently supports over 3000 printers. It also includes an enhanced Print plug-in for GIMP that replaces the print plug-in packaged with the GIMP distribution. Gutenprint 5.2.15 is the final planned release of Gutenprint 5.2. Gutenprint was renamed from its original name of Gimp-Print in order to clearly distinguish it from GIMP. While this package started out as the Print plugin for GIMP, it has expanded into a collection of general purpose printer drivers, and the enhanced Print plugin for GIMP is now only a small part of the package. Furthermore, the name Gutenprint recognizes Johannes Gutenberg, the inventor of the movable type printing press. Finally, the word "guten" means "good" in German. Please read the user's manual (doc/gutenprint-users-manual.pdf) carefully, as it covers much more information than this README file. In addition, please read the release notes (NEWS), as it has information on the latest changes. Gutenprint supports only the printer part of multi-function devices (devices that typically include scanning, copying, and fax capabilities). We recommend that all users who wish to use this package for general purpose printing use CUPS. CUPS provides an excellent web-based interface for easy printer administration, and all CUPS-enabled applications (OpenOffice.org, all KDE apps, etc.) and printing dialogs (kprinter, xpp, etc.) show all the options in easy to use GUIs. Please visit http://www.cups.org/ for information on downloading and installing CUPS. ================================================================ II) INSTALLATION This section is provided for people installing the package from source. If you are installing from a pre-compiled package (such as the Macintosh OS X package, or a package provided by your distribution vendor), you may skip this section. Installing packages from source requires some level of system administration skills along with superuser privileges. Superuser privilege allows you to perform actions that may be damaging to your system. If you are not comfortable with the material discussed here and in the release notes, or with performing simple administrative actions, we recommend that you not attempt to install this package from source. If you are building Gutenprint from the CVS repository, you need to take some additional steps. Please read doc/README.maintaining for instructions on how to build from CVS. Before beginning, please read the release notes carefully for any updates. ---------------- A) OVERVIEW Gutenprint includes the following primary components: - The core driver library (required for everything else) - A CUPS (Common UNIX Printing System) driver - A CUPS backend, required for selected dye-sublimation printers - A command-line utility to administer and maintain Epson printers - An enhanced Print plug-in for GIMP - GTK-based UI libraries (used by the enhanced GIMP plug-in) This package requires the use of GNU Make to compile. On systems with both GNU make and another make installed, GNU make may be named `gmake' or `gnumake'. BSD users in particular must take care to use 'gmake'. The general procedure to build Gutenprint is as follows: ./configure [options] make make install The "configure" script, which must be run before doing anything else, controls which of these components are built along with any options desired. This script determines what software is installed on your system and what components will be compatible with it, and prepares the package to be built and installed. If the script emits any warnings or errors, please be certain that you understand them before proceeding. After the configure script has completed its work, it will print a summary of its choices. Please ensure that it is correct before proceeding. The summary looks like this: Configuration Summary: ------------- -------- If you have any problems, please report the information below to gimp-print-devel@lists.sourceforge.net ================================================================ Release: gutenprint 5.2.15 generated on 09 Jun 2019 Features: Build CUPS: yes, installing in /usr Build CUPS 1.2 enhancements: yes Build CUPS PPD files: no Generate PS level 3 CUPS PPD files: yes Build genppd statically: yes Build CUPS dyesub USB backend: yes Build EPSON inkjet utility: yes Build enhanced Print plugin for GIMP: yes GIMP plugin will be named: gutenprint Install plugin(s) in home directory: no Build test programs: yes Build testpattern generator: yes Installation summary: Installation prefix: /usr/local Exec prefix: /usr/local (${prefix}) Data directory: /usr/local/share/gutenprint Library directory: /usr/local/lib64/gutenprint (${exec_prefix}/lib64/gutenprint) XML data directory: /usr/local/share/gutenprint/5.2/xml Module directory: /usr/local/lib64/gutenprint/5.2/modules (${exec_prefix}/lib64/gutenprint/5.2/modules) Install sample images: yes General configuration: Compiler options: -Disfinite=finite -O6 -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wwrite-strings -Werror-implicit-function-declaration -Winline -Wformat=2 -finline-limit=131072 -D_POSIX_C_SOURCE=200809L -std=c99 -pedantic -Waggregate-return -Wcast-qual -Wshadow -Wredundant-decls Build static libraries: yes Build shared libraries: yes Maintainer mode: yes Use i18n: yes Generate profiling information: no Generate debugging symbols: no Use modules: static Use readline libraries: yes, extra arguments: -lncurses uname -a output: Linux dsl092-065-009 4.12.14-lp151.28.4-default #1 SMP Fri May 24 07:57:46 UTC 2019 (af35fd1) x86_64 x86_64 x86_64 GNU/Linux ================================================================ The CUPS and GIMP components require that the appropriate packages be installed on your system. Many distribution vendors separate packages into runtime and development packages. The development packages are required in order to successfully compile Gutenprint. In many cases the configure script cannot detect whether these development packages are installed, in which case you will get an error during compilation. Also note that it is necessary for the versions of the development packages to match exactly the versions of the runtime packages they are related to. PLEASE INSPECT THE OUTPUT CAREFULLY BEFORE PROCEEDING. If you expect to build a particular component (particularly the CUPS driver, CUPS backends, or enhanced Print plugin for GIMP), and the configure output states that that component will not be built, please make certain that you have the required development packages installed, as described below in the sections for the particular components. ---------------- B) CORE DRIVER LIBRARY The core driver library, which is always built, contains all of the printer drivers comprising the Gutenprint package. When the package is built, it consists of a core library (libgutenprint), a set of XML files, and depending upon the options selected, additional libraries containing the drivers for each family of printers. By default dynamically loadable modules (plug-ins) will be built for the family drivers, and loaded at run-time if your operating system supports it. If you experience problems, --with-modules=dlopen or --with-modules=ltdl may be used to select the module loading method (dlopen is the default, but GNU libltdl is more portable), or --with-modules=static or --without-modules disables them. If you wish to compile Gutenprint entirely statically (with no use of shared libraries), you may use the option --disable-shared. ---------------- C) CUPS Gutenprint may be used as a driver under CUPS (Common UNIX Printing System), if your system uses that spooler. Full description of CUPS is beyond the scope of this README file; full information may be found at http://www.cups.org. Gutenprint 5.2 requires CUPS 1.1.9 or higher. We recommend use of 1.1.15 or above; that release of CUPS fixes some important bugs. Gutenprint supports CUPS 1.2, and supports the CUPS 1.2 enhancements, including dynamic PPD file generation. Gutenprint will normally detect the presence of CUPS on your system and will attempt to build the CUPS driver if it finds CUPS installed. If your distribution separates the CUPS installation into development and runtime packages, you must install the CUPS development package (cups-devel or similar). You may need to install other development packages depending upon how your distribution has built CUPS. The list of packages varies, but commonly development packages for TIFF (libtiff-devel), JPEG (jpeg-devel or libjpeg-devel), PNG (libpng-devel), OpenSSL (openssl-devel), and libc (glibc-devel or libc-devel) will be required. Failure to install these packages will lead to errors when the package is compiled. The errors will typically look like this; the important error is "cups/cups.h: No such file or directory" (other ".h" files may also be missing, depending upon the missing packages): make[3]: Entering directory `/opt/gutenprint/gutenprint-5.2.10/src/cups' gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wwrite-strings -Werror-implicit-function-declaration -Winline -Wformat=2 -finline-limit=131072 -DCUPS_DRIVER_INTERFACE -DALL_LINGUAS='"cs da de el en_GB es fr hu it ja nb nl pl pt sk sv zh_TW"' -Disfinite=finite -O6 -MT gutenprint_5_2-genppd.o -MD -MP -MF .deps/gutenprint_5_2-genppd.Tpo -c -o gutenprint_5_2-genppd.o `test -f 'genppd.c' || echo './'`genppd.c genppd.c:79:23: error: cups/cups.h: No such file or directory genppd.c:80:25: error: cups/raster.h: No such file or directory make[3]: *** [gutenprint_5_2-genppd.o] Error 1 make[3]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10/src/cups' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10' make: *** [all] Error 2 Installing the CUPS driver for Gutenprint 5.2 will not interfere with your ability to continue using the Gutenprint 5.0 or Gimp-Print 4.2 CUPS driver. WARNING: The "canon" and "epson" CUPS backends that previously were distributed with Gutenprint are no longer distributed, so you will need to ensure that none of your printer queues use these backends. Please read the Critical Upgrade Note in the release notes for more information and the procedure for modifying your printer queues. The Gutenprint CUPS driver consists of the following components: * The core Gutenprint CUPS driver, rastertogutenprint.5.2. This is a CUPS filter that converts CUPS raster data into printer-specific data. This is most commonly installed in /usr/lib/cups/filter. * Additional utilities to send certain commands to these printers are installed as commandtocanon and commandtoepson; they are installed in /usr/lib/cups/filter. * A custom backend, gutenprint52usb, to send data to certain dye sublimation printers. Some dye sublimation printers use custom USB protocols to send data to the printer and will not work with the standard USB back end. * One or more sets of PPD files describing all of the printers supported by Gutenprint. These are normally installed in /usr/share/cups/model/gutenprint. These PPD files can only be used by the precise version of Gutenprint that they were built with; for example, it is not possible to use PPD files from Gutenprint 5.2.9 with Gutenprint 5.2.10. If you are using CUPS 1.2 or above, these PPD files may not be actually installed by default, depending upon your system. Instead, a CUPS driver generates these PPD files on demand. * A utility to update PPD files from an earlier release of Gutenprint, cups-genppdupdate. This utility may be used to update PPD files generated by earlier versions of Gutenprint starting from 4.3.21, including any 5.0, 5.1, or 5.2 release or pre-release. This is normally installed in /usr/sbin. This utility cannot update PPD files from Gimp-Print 4.2. * A utility to generate PPD files, cups-genppd.5.2. Normally this is only required when the package is built, and only with CUPS 1.1. * A driver to generate PPD files on the fly, gutenprint.5.2. This is normally used to generate PPD files on the fly with CUPS 1.2 and above. * A utility to permit additional color calibration for Gutenprint-supported printers, cups-calibrate. This is normally installed in /usr/bin. WARNING: With certain versions of CUPS and in certain non-standard configurations, if a new version of Gutenprint is installed over an existing version genppd will create PPD files based on the older version of Gutenprint rather than the newer version. This will happen if all of the following are true: i) The cups-config provided by the CUPS driver adds -Wl,rpath=/usr/lib (or wherever the CUPS system libraries live). This is done by some versions of CUPS reportedly because in some cases the runtime linker does not pick up libraries out of /usr/lib. This can be checked by running cups-config --libs --ldflags and inspecting the output for any mention of "rpath", "RPATH", "RUN_PATH", or the like. This is controlled by the CUPS installation on your system. ii) There is presently a version of Gutenprint installed in the system default, typically /usr (--prefix=/usr) rather than /usr/local or the like. The default location of Gutenprint installation is in /usr/local, but system vendors typically install Gutenprint in /usr. iii) Gutenprint is built dynamically only (--disable-static or --disable-static-genppd). This is not standard, and requires the explicit --disable-static or --disable-static-genppd on the Gutenprint "configure" command line. Therefore, if you build Gutenprint normally you should not be vulnerable to this problem. iv) Gutenprint is configured to build the PPD files at compile time. This is the case when using CUPS 1.1, but is not the case when using CUPS 1.2 unless you explicitly use --enable-cups-ppds. Note that in general if you install CUPS into a non-standard location, and install Gutenprint into the same location, this problem can surface. For example, if you choose to install CUPS in /usr/local and Gutenprint in /usr/local you are vulnerable to this. However, it is not standard practice to install CUPS anywhere but /usr. In this case, the run path embedded in the genppd executable points to the version of Gutenprint installed in /usr/lib. This run path overrides any attempt by libtool to look in the build directory. The result is that cups-genppd and rastertogutenprint are run against the older version of Gutenprint. If the new version contains additional features (more printers, changes to printer options, etc.) they will not be available. This bug is difficult to detect in a normal build. It normally does not cause an error to happen during build unless there is an API change from the version installed and the version being built; the only failure is frequently that some PPD files may not be built or may be built with missing options. Due to the PPD version checking introduced in this release, the behavior might manifest itself as a runtime error. It is also possible that there will be no error at all other than the older version of Gutenprint being used, with the result that new features and bug fixes are not available. If you wish to use only shared libraries, do not wish to build static libraries at all, and are vulnerable to this issue (because cups-config --ldflags sets the run path), there are three workarounds available: i) Build and install Gutenprint into /usr (rather than /usr/local) and then rebuild Gutenprint from scratch. This will install the correct libgutenprint.so in /usr/lib, and in the rebuild genppd will be run against the correct library. ii) Remove the old version of Gutenprint prior to building the new version of Gutenprint. The important files to remove are anything named /usr/lib/libgutenprint*. iii) Edit cups-config to remove the reference to the run path. Following installation of the package with "make install", you must restart CUPS to permit CUPS to see the new PPD files. The exact command to restart CUPS varies; it is typically something like /etc/init.d/cups restart, /etc/software/init.d/cups restart, /etc/rc.d/cups restart, /usr/sbin/rccups, or even /etc/rc.d/init.d/cups restart. Your system may have a different way to restart the CUPS server. OS X (10.5), for example, uses the following command: sudo /System/Library/StartupItems/PrintingServices/PrintingServices.sh restart You may optionally choose to update your existing PPD files using the command cups-genppdupdate, after which you should restart CUPS as described above. We strongly recommend use of this update procedure, which is fast and simple. This script will automatically update Gutenprint PPD files from earlier versions (5.0, 5.1, or 5.2 release or prerelease). This script will only update PPD files from earlier versions of Gutenprint; it will not update Gimp-Print 4.2 PPD files or PPD files from other drivers. However, you may install Gutenprint 5.2 alongside Gimp-Print 4.2, and use both Gimp-Print 4.2 and Gutenprint 5.2 drivers concurrently in separate printer queues. Therefore, you need not convert a workflow based on Gimp-Print 4.2 right away, but can gradually convert or even permanently use both drivers for different printer queues. The following options to configure are available for compiling the Gutenprint driver for CUPS: --enable-cups-ppds With CUPS 1.2, it is possible to arrange for PPD files to be generated when a new printer queue is generated rather than having all pre-generated PPD files in the filesystem. This saves considerable disk space and avoids the possible build problem described above. Normally, Gutenprint detects which version of CUPS is in use and configures itself to create the PPD files at build time only when CUPS 1.1 is in use. If you wish to generate the PPD files at build time, you may use this option. If you are running CUPS 1.1, and for some reason do not wish to generate the PPD files, you may use --disable-cups-ppds. --disable-translated-cups-ppds By default, PPD files for all languages available in Gutenprint are created. If this option is used, only the default (US-English) PPD files are created. Distributors may wish to package up the PPD files separately for each language. Some systems may not build the translated PPD files correctly, in which case all of the PPD files will be in English. If this is the case on your system, you should use --disable-translated-cups-ppds to avoid having many duplicate PPD files. --disable-globalized-cups-ppds Starting with Gutenprint 5.2, Gutenprint builds PPD files containing translations for all languages if CUPS 1.2 or above is in use. This greatly reduces the number of PPD files created or PPD file choices offered. If you have problems with the globalized PPD files, you may use this option to generate standard translated PPD files (or English-only, if --disable-translated-cups-ppds is also in use). This option only has effect if --enable-cups-ppds is used. --enable-simplified-cups-ppds Gutenprint 5.2 offers an option of creating simplified PPD files (containing only basic options and standard paper sizes) in addition to PPD files offering all available options (including all color correction options). If this option is used, both the simplified and standard PPD files are created. If --enable-simplified-cups-ppds=only is specified, only the simplified PPD files are built. If the new dynamic PPD file generation is used with CUPS 1.2, the simplified PPD files are always offered. --disable-cups-level3-ppds By default, the Gutenprint PPD files are configured for PostScript Level 3. If this option is used, Level 2 PPD files are created. This may be useful if you are using a version of CUPS older than 1.1.15. It is normally not necessary to use this explicitly, as the configure script detects the version of CUPS in use and selects the appropriate PostScript level automatically. --disable-cups-ppds-at-top-level Normally, the PPD files are placed in /usr/share/cups/model/gutenprint/5.2. If this option is used, the PPD files are placed in /usr/share/cups/model. There is normally no good reason to use this option. --disable-static-genppd Build genppd and rastertogutenprint dynamically linked rather than statically linked. WARNING: Use of this option may lead to failure during build or installation, or incorrect installation. It is *STRONGLY* recommended that you not use this option unless you are certain that you understand the problem and how to work around it. ---------------- D) CUPS dye-sublimation backend A new CUPS backend was added to support specific dye-sublimation USB printers that require a special communications protocol. This backend is called 'gutenprint52+usb' and currently supports the models listed below. If you do not have a printer on this list, you may skip the remainder of this section. Canon SELPHY ES series Canon SELPHY CP series Ciaat Brava 21 Citizen CW-01 / Olmec OP900 Citizen CW-02 DNP DS40 / Citizen CX DNP DS80 / Citizen CX-W DNP DS80DX (experimental) DNP DS-RX1 / DS-RX1HS / Citizen CY DNP DS620 DNP DS820 Kodak Professional 1400 Kodak 305 Photo Printer Kodak 605 Photo Printer Kodak 805 Photo Printer Kodak 6800 Photo Printer Kodak 6850 Photo Printer Mitsubishi CP-3800DW Mitsubishi CP-9550D/DW/DW-S/DZ/DZ-S Mitsubishi CP-9600D/DW Mitsubishi CP-9800DW/DW-S (experimental) Mitsubishi CP-9810DW (experimental) Mitsubishi CP-K60DW-S Mitsubishi CP-D70DW / CP-D707DW Mitsubishi P93DW Mitsubishi P95DW Shinko CHC-S1245 (aka Sinfonia E1) (experimental) Shinko CHC-S6245 (aka Sinfonia CE1) (experimental) Shinko CHC-S2145 (aka Sinfonia S2) Shinko CHC-S6145 (aka Sinfonia CS2) Sony UP-DR150 Sony UP-DR200 Sony UP-CR10L / DNP DS-SL10 (experimental) Although these printers advertise themselves as standard USB Printer Class devices, they do not actually obey those specifications, and require two-way handshaking in order to successfully print. Over time, it is expected that additional printer models will be supported by this backend. NOTE: If you are upgrading from 5.2.9 (or earlier) and using one of the following models, you will need to remove and re-create your printer queue: Canon SELPHY ES series (All models) Canon SELPHY CP series (All models) DNP DS40 DNP DS80 Sony UP-DR150 Build Requirements This backend requires libusb (or libusbx) 1.0 or newer. CUPS Integration If you are using up-to-date versions of CUPS (1.6.4 or newer) on Linux, then your system will automatically select this backend if the you plug in one of its supported printers. No further intervention on the your part should be necessary. Unfortunately, if you are using an older version of CUPS or a non-Linux system (particularly OSX) then you will probably need to manually configure the use of this backend because the system may attempt to use the default usb backend, which will not work properly with these printers. To check which backend your printers are using, run the 'lpstat -s' command. Below is an example of its output: device for Canon_SELPHY_ES1: gutenprint52+usb://Canon/SELPHY%20ES1?serial=221CD10131&backend=canonselphy device for Canon_SELPHY_ES3: usb://Canon/Canon%20SELPHY%20ES3 In this example, the SELPHY ES1 is using the correct gutenprint backend, but the ES3 is using the incorrect 'usb' backend. In order for the ES3 to function properly, you need to configure it to use the correct backend. The most expedient way to accomplish this is to remove the printer via your system's printer configuration interface, then manually add a new one, taking care to select the correct backend ("gutenprint52+usb"). This backend name is present in the device URI for the printer, as demonstrated in the above example. An alternative to the system printer configuration interface is to use your local system's CUPS web interface, if it is enabled. Step-by-step instructions for using any of these interfaces is beyond the scope of this document. Once the printer is properly configured, this backend will be automatically invoked as needed; you will never invoke the backend directly. Note on Use of Multiple Printers of the Same Model If you do not use (and do not intend to use) more than one printer of the same model connected via USB to one computer, you may skip this section. If you have more than one printer connected to a computer (via separate queues), CUPS inspects each printer to determine which printer is attached to which queue. Most printers provide a serial number, which is different for each individual printer, to determine which unique printer is which. Unfortunately, certain printers do not provide this serial number, so CUPS cannot uniquely identify each printer. To determine if your printer model is affected, you should inspect the CUPS queue URI, specifically the "serial=" portion. If the serial is NONE_UNKNOWN, it indicates that the printer does not report a serial number and so CUPS cannot uniquely that printer, if more than one of that type is plugged in. For example, a device URI of gutenprint52+usb://Canon/SELPHY+ES1?serial=221CD10131&backend=canonselphy has a proper serial number (221CD10131), and CUPS can uniquely identify the printer. A device URI of gutenprint52+usb://Canon/CP-10?serial=NONE_UNKNOWN&backend=canonselphy indicates that the printer does not report a valid serial number, so that CUPS cannot uniquely identify the printer if there are two or more Canon CP-10 printers attached. If you attach more than one of any one of these printer models to the same computer (such as two Canon CP-10 printers), you may experience incorrect behavior, including: * Printing (or attempting to print) to a printer other than the desired one * Failing to print a particular job at all * Inability to create a queue for each printer * Attempt to create a queue that already exists Note on the Shinko CHC-S2145 The Shinko CHC-S2145 does not report a serial number in the traditional sense; instead it reports a user identification string, which the backend will use if one is configured. The backend supports configuring this user identification string. To do so, first disconnect all other Shinko CHC-S2145 printers from the system, and then connect each printer individually, and run the following command. Please ensure that the text you choose for each printer is different. /usr/lib/cups/backend/gutenprint52+usb -B shinkos2145 -U "sometext" After changing the user string, you will need to remove and re-create the CUPS queue. Note on Mitsubishi Dye-Sublimation models with an '-S' and '-U' suffixes As well as manufacturing standalone photo printers, Mitsubishi also manufactures photo lab and kiosk solutions which use their printers. However, the printers intended for use with those kiosks are *not* compatible with the standalone models, despite having similar model names. They are incompatible from a software perspective, and also require different media. With two exceptions, if the model ends in '-S' or has a red face- plate, it is intended only for use with a Mitsubishi lab or kiosk, and consequently not supportable by Gutenprint. For example, see the (non-comprehensive) list below: Supported/Compatible | Unsupported/Incompatible --------------------------------------------------- CP-D70DW | CP-D70DW-S CP9600DW | CP9600DW-S CP9550DW | CP9550DW-U The exceptions to this rule are the CP-K60DW-S, which is sold as a standalone "event" printer, and the CP9550DW-S, which has been successfully reverse-engineered. ---------------- E) ESCPUTIL "escputil" is a command line utility for administering Epson inkjet printers. It performs head alignment, retrieval of ink levels and status information, printing of test patterns, etc. It is built and installed by default; if you don't want it, you may use --without-escputil when configuring. escputil uses the readline package for interactive commands (currently only head alignment falls into this category). Linking against libreadline sometimes requires linking against other packages. Gutenprint attempts to determine the correct packages to link against; the exact sequence is described in the release notes. If you do not wish to use readline, you may use --without-readline. ---------------- F) GIMP Gutenprint may be used as an enhanced Print plug-in for GIMP (2.0 and above), providing the ability to print images. Please read the release notes in addition to this README. Gutenprint 5.2 no longer supports GIMP 1.2. The enhanced Print plugin for GIMP replaces the Gimp-Print 4.2-based plugin provided with GIMP 2.0 and 2.2. As of the GIMP 2.4, GIMP team provides a new Print plugin based on the GtkPrint framework. This plugin provides standard printing capabilities, but does not provide all of the new Gutenprint 5.2 features. Therefore, the enhanced Print plugin for GIMP distributed with Gutenprint does not replace that plugin, but is installed alongside that plugin. If your system separates development packages from runtime packages, you will typically have to install development packages for GIMP itself, in addition to Gtk and Glib. With GIMP 2.x and GTK 2.x, additional packages may be required. Failure to install these packages will lead to errors when the package is compiled. The errors will typically look like this; the important errors are the ones "No such file or directory". make[3]: Entering directory `/opt/gutenprint/gutenprint-5.2.10/src/gimp2' gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wwrite-strings -Werror-implicit-function-declaration -Winline -Wformat=2 -finline-limit=131072 -Disfinite=finite -O6 -MT print-image-gimp.o -MD -MP -MF .deps/print-image-gimp.Tpo -c -o print-image-gimp.o print-image-gimp.c In file included from print-image-gimp.c:30: print_gimp.h:36:21: error: gtk/gtk.h: No such file or directory print_gimp.h:37:26: error: libgimp/gimp.h: No such file or directory print_gimp.h:38:28: error: libgimp/gimpui.h: No such file or directory make[3]: *** [print-image-gimp.o] Error 1 make[3]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10/src/gimp2' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10' make: *** [all] Error 2 Normally, the Gutenprint configure script detects which version, if any, of GIMP is installed and builds an appropriate plugin. If the configure script does not detect it properly, you may need to specify --with-gimp or --with-gimp2. However, it's more likely that you need to install appropriate development packages. Normally Gutenprint installs GIMP Print plugin in your system plug-in directory. If you wish to install it in your personal plugin directory, you may use ./configure --enable-user-install It is not possible for Gimp-Print 4.2, Gutenprint 5.0, and Gutenprint 5.2 (or any future release) to coexist in the same installation of GIMP. The Gutenprint 5.2-based plugin can read settings from previous versions of Gutenprint and Gimp-Print, but the configuration file format in Gutenprint 5.2 cannot be read by older versions of Gimp-Print or Gutenprint. ================================================================ III) GETTING STARTED This section describes how to get started by installing printers under Gutenprint. Please see the user's manual (in doc/gutenprint-users-manual.odt or doc/gutenprint-users-manual.pdf) for more information. ---------------- A) PRINTER INSTALLATION The actual procedure to install a printer depends upon your operating system and the spooler (printing system) in use on your system. Gutenprint does not normally require the use of non-standard procedures (such as starting special programs) to install printers. Assuming that you are using CUPS, it integrates with your printing system, so the tools provided by your distribution vendor should work correctly with Gutenprint. Most printing systems currently use PPD files to describe printer capabilities. Some printers are supported by more than one driver, so you may find more than one PPD file for your printer. Gutenprint PPD files are described as Epson Stylus Photo R300 - CUPS+Gutenprint v5.2.10 Epson Stylus Photo R300 - CUPS+Gutenprint v5.2.10 Simplified The "simplified" PPD files offer a basic set of options only, for selecting printer options, standard paper sizes, and basic quality settings. The PPD files that are not "simplified" offer a much broader set of controls, giving the user extensive control over quality and color adjustment. Other PPD files are described differently, such as Epson MJ 520C Foomatic/stcolor (recommended) These PPD files, whether "recommended" or not, are not Gutenprint PPD files. NOTES FOR CUPS USERS: If you do not choose to automatically update existing PPD files, you should reinstall any printer queues that you are using Gutenprint PPD files with. The Gutenprint driver and the PPD files must be kept in sync, since the PPD files reflect the particular version of the driver that they were built against. If you attempt to use a version of Gutenprint with PPD files not built for that precise version, the driver will fail with a diagnostic error message. For example, PPD files built for Gutenprint 5.2.1 will not work with driver version 5.2.2. You can identify printers using Gutenprint PPD files by the name of the PPD file, which will be something like: EPSON Stylus Photo EX - CUPS+Gutenprint v5.2.10(en) Linux users please note: If you are using CUPS 1.1.11 or higher, and you have a USB-connected printer, you must have a printer connected to each USB port that you plan to use and powered on when you restart CUPS. If you do not do so, you will not be able to reinstall the printer. It is only necessary to do this if you wish to update PPD files manually; if you use cups-genppdupdate, you do not need to do this. Starting with CUPS 1.1.11, you cannot choose an AppSocket connection and enter "usb:/dev/usblp0" or the like as the URI; you will get a "client-error-not-possible" error at the end of the installation process, and you will have a message like the following in your CUPS error log (typically /var/log/cups/error_log): E [21/Nov/2001:17:59:07 +0500] add_printer: bad device-uri attribute 'usb:/dev/usb/lp0'! If the printer was turned on correctly, you will be given a choice of a USB connection in the Device dialog. You may also have problems if you have a .lpoptions file that has old options set. If you have problems printing, please remove any existing .lpoptions file in your home directory and try printing again. ================================================================ IV) SOLVING PROBLEMS While we have attempted to make use of Gutenprint as straightforward and trouble-free as possible, we certainly recognize that there may be problems with installing and using Gutenprint. In the event of any difficulty, we ask that you take the following actions: 1) Read the release notes (NEWS). 2) Read the FAQ, in doc/FAQ.html. Your question may be answered there. 3) Make sure that the paper type and size, and media source, that you have selected matches the paper loaded into the printer. This is only necessary if the printer attempts to print, but does not succeed. It is a good starting point if quality is poor (too dark or too light, wet ink on the paper, etc.). 4) Reset all settings (particularly the color and quality settings) to their defaults. 5) If you are using CUPS, search /var/log/cups/error_log (which may be located elsewhere on some systems) for lines starting with 'E' (these lines indicate errors). Also search for log information produced by Gutenprint; all such output lines will contain "Gutenprint". These lines may help you solve the problem and will help us investigate your problem if necessary. 6) If you are using CUPS, enable debugging output. This can be done by editing /etc/cups/cupsd.conf (which must be done as root). There will be a line in that file: LogLevel Info which should be changed to LogLevel Debug This will allow CUPS to produce extensive debugging output. You will need to restart CUPS (the exact procedure is system-dependent) after doing this. If you report a problem to the Gutenprint team, you will be asked for this information. 7) There are public forums on Sourceforge dedicated to this package. Please see http://sourceforge.net/forum/?group_id=1537 for more information. The Help forum is a good source of information. 8) If you have a technical support issue that does not appear to be a bug in the software, you can use the Tech Support Manager. Please see http://sourceforge.net/support/?group_id=1537. 9) If you have found a clear bug in the package, you may file a bug report at http://sourceforge.net/bugs/?group_id=1537. 10) You may send mail to the gimp-print-devel@sourceforge.net mailing list. This is recommended as a last resort only. ================================================================ V) USE OF THE CVS REPOSITORY Please read doc/README.maintaining for instructions on how to build from the CVS repository. You will need additional packages and tools for this purpose.