INSTALL - CUPS v1.3.6 - 2008-02-15 ---------------------------------- 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 all 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). 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 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 ... 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 ENTER or gmake ENTER for FreeBSD, NetBSD, and OpenBSD. The 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) 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.