INSTALL - CUPS v1.1.15 - 05/13/2002 ----------------------------------- 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". 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 GCC 2.95.x 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. FreeBSD users should use GNU make (gmake). Besides these tools you'll want the following libraries: - JPEG 6b or higher - PNG 1.0.6 or higher - TIFF 3.4 or higher - ZLIB 1.1.3 or higher CUPS will compile and run without these, however you'll miss out on many of the features provided by CUPS. COMPILING FROM CVS The CUPS CVS repository doesn't hold a copy of the pre-built configure script. You'll need to run the GNU autoconf software (2.52 or higher) before compiling the software from CVS: autoconf ENTER 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 ENTER 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 ENTER If the PNG, JPEG, TIFF, and ZLIB libraries are not installed in a system default location (typically "/usr/include" and "/usr/lib") you'll need to set the CFLAGS, CXXFLAGS, DSOFLAGS, and LDFLAGS environment variables prior to running configure: setenv CFLAGS "-I/some/directory" ENTER setenv CXXFLAGS "-I/some/directory" ENTER setenv DSOFLAGS "-L/some/directory" ENTER setenv LDFLAGS "-L/some/directory" ENTER ./configure ... ENTER or: CFLAGS="-I/some/directory"; export CFLAGS ENTER CXXFLAGS="-I/some/directory"; export CXXFLAGS ENTER DSOFLAGS="-L/some/directory"; export DSOFLAGS ENTER LDFLAGS="-L/some/directory"; export LDFLAGS ENTER ./configure ... ENTER To enable support for encryption, you'll also want to add the "--enable-ssl" option: ./configure --enable-ssl SSL and TLS support require the OpenSSL library, available at: http://www.openssl.org If the OpenSSL header files and libraries are not in a standard location, specify the locations of these files using the --with-openssl-includes and --with-openssl-libs directives: ./configure --enable-ssl \ --with-openssl-includes=/foo/bar/include \ --with-openssl-libs=/foo/bar/lib See the file "ENCRYPTION.txt" for information on using the encryption support in CUPS. 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 ("cups.spec") or EPM list file ("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 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 portable shell script and tar file based distribution. This format will also backup your existing printing system if you decide to remove CUPS at some future time. aix - Builds an AIX binary distribution. bsd - Builds a *BSD binary distribution. deb - Builds a Debian binary distribution. depot - Builds a HP-UX binary distribution. pkg - Builds a Solaris binary distribution. rpm - Builds a RPM binary distribution. tardist - Builds an IRIX binary distribution. REPORTING PROBLEMS If you have problems, READ THE DOCUMENTATION FIRST! If the documentation does not solve your problems please send an email to "firstname.lastname@example.org". Include your operating system and version, compiler and version, and any errors or problems you've run into. The "/var/log/cups/error_log" file 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. Please note that the "email@example.com" email address goes to the CUPS developers; they are busy people, so your email may go unanswered for days or weeks. In general, only general build or distribution problems will actually get answered - for end-user support see the "README.txt" for a summary of the resources available.