| INSTALL - CUPS v1.4svn - 2008-04-23 |
| ----------------------------------- |
| |
| This file describes how to compile and install CUPS from source |
| code. For more information on CUPS see the file called |
| "README.txt". A complete change log can be found in |
| "CHANGES.txt". |
| |
| **** IF YOU HAVE A NON-POSTSCRIPT PRINTER AND ARE NOT **** |
| **** RUNNING MAC OS X, YOU WILL ALSO NEED TO INSTALL GPL **** |
| **** GHOSTSCRIPT WITH THE "cups" DRIVER AFTER YOU INSTALL **** |
| **** CUPS. **** |
| |
| |
| BEFORE YOU BEGIN |
| |
| You'll need ANSI-compliant C and C++ compilers, plus a make |
| program and Bourne shell. The GNU compiler tools work well - |
| we've tested the current CUPS code against several versions |
| of GCC with excellent results. |
| |
| The makefiles used by the project should work with most |
| versions of make. We've tested them with GNU make as well as |
| the make programs shipped by Compaq, HP, SGI, and Sun. |
| BSD users should use GNU make (gmake) since BSD make does |
| not support "include". |
| |
| Besides these tools you'll want the JPEG, PNG, TIFF, and ZLIB |
| libraries for image support, the CDSA, GNU TLS, or OpenSSL |
| libraries for encryption support, and the OpenLDAP and |
| OpenSLP libraries for directory services support. CUPS will |
| compile and run without these, however you'll miss out on |
| many of the features provided by CUPS. |
| |
| Kerberos support requires MIT Kerberos 1.6.3 or later or |
| Heimdal Kerberos, along with the corresponding GSSAPI |
| pieces. |
| |
| Also, please note that CUPS no longer includes the |
| Ghostscript- based pstoraster filter. You *must* download |
| GPL Ghostscript separately from the CUPS web site if you want |
| to print PostScript files to non-PostScript printers on |
| operating systems other than Mac OS X. |
| |
| |
| COMPILING FROM SUBVERSION |
| |
| The CUPS Subversion repository doesn't hold a copy of the |
| pre-built configure script. You'll need to run the GNU |
| autoconf software (2.60 or higher) before compiling the |
| software from Subversion: |
| |
| autoconf -f |
| |
| |
| CONFIGURATION |
| |
| CUPS uses GNU autoconf, so you should find the usual |
| "configure" script in the main CUPS source directory. To |
| configure CUPS for your system, type: |
| |
| ./configure |
| |
| The default installation will put the CUPS software in the |
| "/etc", "/usr", and "/var" directories on your system, which |
| will overwrite any existing printing commands on your system. |
| Use the "--prefix" option to install the CUPS software in |
| another location: |
| |
| ./configure --prefix=/some/directory |
| |
| To see a complete list of configuration options, use the |
| --help option: |
| |
| ./configure --help |
| |
| If any of the dependent libraries are not installed in a |
| system default location (typically "/usr/include" and |
| "/usr/lib") you'll need to set the CFLAGS, CPPFLAGS, |
| CXXFLAGS, DSOFLAGS, and LDFLAGS environment variables prior |
| to running configure: |
| |
| setenv CFLAGS "-I/some/directory" |
| setenv CPPFLAGS "-I/some/directory" |
| setenv CXXFLAGS "-I/some/directory" |
| setenv DSOFLAGS "-L/some/directory" |
| setenv LDFLAGS "-L/some/directory" |
| ./configure ... |
| |
| or: |
| |
| CFLAGS="-I/some/directory" \ |
| CPPFLAGS="-I/some/directory" \ |
| CXXFLAGS="-I/some/directory" \ |
| DSOFLAGS="-L/some/directory" \ |
| LDFLAGS="-L/some/directory" \ |
| ./configure ... |
| |
| The "--enable-debug" option compiles CUPS with debugging enabled, |
| as well as support for debug logging via the CUPS_DEBUG_LOG |
| environment variable at run-time. |
| |
| Once you have configured things, just type: |
| |
| make ENTER |
| |
| or if you have FreeBSD, NetBSD, or OpenBSD type: |
| |
| gmake ENTER |
| |
| to build the software. |
| |
| |
| INSTALLING THE SOFTWARE |
| |
| Once you have built the software you need to install it. The |
| "install" target provides a quick way to install the software |
| on your local system: |
| |
| make install ENTER |
| |
| or for FreeBSD, NetBSD, or OpenBSD: |
| |
| gmake install ENTER |
| |
| You can also build binary packages that can be installed on |
| other machines using the RPM spec file |
| ("packaging/cups.spec") or EPM list file |
| ("packaging/cups.list"). The latter also supports building |
| of binary RPMs, so it may be more convenient to use - we use |
| EPM to build all of our binary distributions. |
| |
| You can find the RPM software at: |
| |
| http://www.rpm.org/ |
| |
| The EPM software is available at: |
| |
| http://www.easysw.com/epm/ |
| |
| |
| CREATING BINARY DISTRIBUTIONS WITH EPM |
| |
| The top level makefile supports generation of many types of binary |
| distributions using EPM. To build a binary distribution type: |
| |
| make <format> ENTER |
| |
| or |
| |
| gmake <format> ENTER |
| |
| for FreeBSD, NetBSD, and OpenBSD. The <format> target is one of |
| the following: |
| |
| epm - Builds a script + tarfile package |
| aix - Builds an AIX package |
| bsd - Builds a *BSD package |
| deb - Builds a Debian package |
| depot - Builds a HP-UX package (also swinstall) |
| inst - Builds an IRIX package (also tardist) |
| osx - Builds a MacOS X package |
| pkg - Builds a Solaris package |
| rpm - Builds a RPM package |
| setld - Build a Tru64 UNIX package |
| slackware - Build a Slackware package |
| swinstall - Build a HP-UX package (also depot) |
| tardist - Builds an IRIX package (also inst) |
| |
| |
| GETTING DEBUG LOGGING FROM CUPS |
| |
| When configured with the "--enable-debug" option, CUPS compiles |
| in additional debug logging support in the scheduler, CUPS API, |
| and CUPS Imaging API. Set the CUPS_DEBUG_LOG environment |
| variable to a filename to append logging information at run-time. |
| Use the name "-" to send the messages to stderr. |
| |
| |
| REPORTING PROBLEMS |
| |
| If you have problems, READ THE DOCUMENTATION FIRST! If the |
| documentation does not solve your problems, please post a |
| message on the "cups.general" forum at: |
| |
| http://www.cups.org/newsgroups.php |
| |
| Include your operating system and version, compiler and |
| version, and any errors or problems you've run into. The |
| "config.log" file and the output from the configure script |
| and make should also be sent, as it often helps to determine |
| the cause of your problem. |
| |
| If you are running a version of Linux, be sure to provide the |
| Linux distribution you have, too. |