]> git.ipfire.org Git - thirdparty/cups.git/blame - INSTALL.txt
Update "what's new" document.
[thirdparty/cups.git] / INSTALL.txt
CommitLineData
65087280 1INSTALL - CUPS v1.7b1 - 2013-01-11
d8f880d0 2----------------------------------
61bdcfa6 3
639ca68a 4This file describes how to compile and install CUPS from source code. For more
5information on CUPS see the file called "README.txt". A complete change log can
6be found in "CHANGES.txt".
61bdcfa6 7
65087280 8*******************************************************************************
9*******************************************************************************
10**** ****
11**** USING CUPS REQUIRES ADDITIONAL THIRD-PARTY SUPPORT SOFTWARE AND ****
12**** PRINTER DRIVERS. THESE ARE TYPICALLY INCLUDED WITH YOUR OPERATING ****
13**** SYSTEM DISTRIBUTION. APPLE DOES NOT ENDORSE OR SUPPORT THIRD-PARTY ****
14**** SUPPORT SOFTWARE FOR CUPS. ****
15**** ****
16*******************************************************************************
17*******************************************************************************
c5488f2f 18
61bdcfa6 19
20BEFORE YOU BEGIN
21
639ca68a 22 You'll need ANSI-compliant C and C++ compilers, plus a make program and
23 POSIX-compliant shell (/bin/sh). The GNU compiler tools and Bash work well
24 and we have tested the current CUPS code against several versions of GCC
25 with excellent results.
61bdcfa6 26
639ca68a 27 The makefiles used by the project should work with most versions of make.
28 We've tested them with GNU make as well as the make programs shipped by
29 Compaq, HP, SGI, and Sun. BSD users should use GNU make (gmake) since BSD
30 make does not support "include".
61bdcfa6 31
639ca68a 32 Besides these tools you'll want the JPEG, PNG, TIFF, and ZLIB libraries for
33 image support, the CDSA, GNU TLS, or OpenSSL libraries for encryption
34 support, the OpenLDAP and OpenSLP libraries for directory services support,
35 and either MIT (1.6.3 or higher) or Heimdal Kerberos for Kerberos support.
36 CUPS will compile and run without these, however you'll miss out on many of
37 the features provided by CUPS.
61bdcfa6 38
639ca68a 39 Also, please note that CUPS does not include the Ghostscript-based
40 PostScript filter needed by non-PostScript printers. You *must* download
41 GPL Ghostscript separately from the CUPS web site if you want to print
42 PostScript files to non-PostScript printers on operating systems other than
c45401bb 43 OS X.
f3955b6b 44
61bdcfa6 45
639ca68a 46COMPILING THE SUBVERSION REPOSITORY CODE
61bdcfa6 47
639ca68a 48 The CUPS Subversion repository doesn't hold a copy of the pre-built
49 configure script. You'll need to run the GNU autoconf software (2.60 or
50 higher) to create it:
61bdcfa6 51
729c4d7d 52 autoconf
415199da 53
54
61bdcfa6 55CONFIGURATION
56
639ca68a 57 CUPS uses GNU autoconf, so you should find the usual "configure" script in
58 the main CUPS source directory. To configure CUPS for your system, type:
93d2f0c0 59
781996c9 60 ./configure
93d2f0c0 61
639ca68a 62 The default installation will put the CUPS software in the "/etc", "/usr",
63 and "/var" directories on your system, which will overwrite any existing
64 printing commands on your system. Use the "--prefix" option to install the
65 CUPS software in another location:
93d2f0c0 66
781996c9 67 ./configure --prefix=/some/directory
93d2f0c0 68
639ca68a 69 To see a complete list of configuration options, use the --help option:
93d2f0c0 70
781996c9 71 ./configure --help
7428af94 72
639ca68a 73 If any of the dependent libraries are not installed in a system default
74 location (typically "/usr/include" and "/usr/lib") you'll need to set the
75 CFLAGS, CPPFLAGS, CXXFLAGS, DSOFLAGS, and LDFLAGS environment variables
76 prior to running configure:
7428af94 77
781996c9 78 setenv CFLAGS "-I/some/directory"
79 setenv CPPFLAGS "-I/some/directory"
80 setenv CXXFLAGS "-I/some/directory"
81 setenv DSOFLAGS "-L/some/directory"
82 setenv LDFLAGS "-L/some/directory"
83 ./configure ...
7428af94 84
781996c9 85 or:
7428af94 86
781996c9 87 CFLAGS="-I/some/directory" \
88 CPPFLAGS="-I/some/directory" \
89 CXXFLAGS="-I/some/directory" \
90 DSOFLAGS="-L/some/directory" \
91 LDFLAGS="-L/some/directory" \
92 ./configure ...
753453e4 93
639ca68a 94 The "--enable-debug" option compiles CUPS with debugging information
95 enabled. Additional debug logging support can be enabled using the
96 "--enable-debug-printfs" option - these debug messages are enabled using the
97 CUPS_DEBUG_LOG environment variable at run-time.
98
99 CUPS also includes an extensive set of unit tests that can be used to find
100 and diagnose a variety of common problems - use the "--enable-unit-tests"
101 configure option to run them at build time.
3ba676e9 102
781996c9 103 Once you have configured things, just type:
753453e4 104
781996c9 105 make ENTER
1c9e0181 106
781996c9 107 or if you have FreeBSD, NetBSD, or OpenBSD type:
93d2f0c0 108
781996c9 109 gmake ENTER
93d2f0c0 110
781996c9 111 to build the software.
93d2f0c0 112
113
639ca68a 114TESTING THE SOFTWARE
115
116 Aside from the built-in unit tests, CUPS includes an automated test
117 framework for testing the entire printing system. To run the tests, just
118 type:
119
120 make check ENTER
121
122 or if you have FreeBSD, NetBSD, or OpenBSD type:
123
124 gmake check ENTER
125
126 The test framework runs a copy of the CUPS scheduler (cupsd) on port 8631
127 in /tmp/cups-$USER and produces a nice HTML report of the results.
128
129
93d2f0c0 130INSTALLING THE SOFTWARE
131
639ca68a 132 Once you have built the software you need to install it. The "install"
133 target provides a quick way to install the software on your local system:
93d2f0c0 134
781996c9 135 make install ENTER
93d2f0c0 136
781996c9 137 or for FreeBSD, NetBSD, or OpenBSD:
93d2f0c0 138
781996c9 139 gmake install ENTER
93d2f0c0 140
639ca68a 141 You can also build binary packages that can be installed on other machines
142 using the RPM spec file ("packaging/cups.spec") or EPM list file
143 ("packaging/cups.list"). The latter also supports building of binary RPMs,
144 so it may be more convenient to use.
93d2f0c0 145
781996c9 146 You can find the RPM software at:
93d2f0c0 147
781996c9 148 http://www.rpm.org/
93d2f0c0 149
781996c9 150 The EPM software is available at:
93d2f0c0 151
639ca68a 152 http://www.epmhome.org/
93d2f0c0 153
154
155CREATING BINARY DISTRIBUTIONS WITH EPM
156
781996c9 157 The top level makefile supports generation of many types of binary
158 distributions using EPM. To build a binary distribution type:
93d2f0c0 159
781996c9 160 make <format> ENTER
93d2f0c0 161
781996c9 162 or
93d2f0c0 163
781996c9 164 gmake <format> ENTER
93d2f0c0 165
639ca68a 166 for FreeBSD, NetBSD, and OpenBSD. The <format> target is one of the
167 following:
93d2f0c0 168
781996c9 169 epm - Builds a script + tarfile package
170 aix - Builds an AIX package
171 bsd - Builds a *BSD package
172 deb - Builds a Debian package
173 depot - Builds a HP-UX package (also swinstall)
174 inst - Builds an IRIX package (also tardist)
781996c9 175 pkg - Builds a Solaris package
176 rpm - Builds a RPM package
177 setld - Build a Tru64 UNIX package
178 slackware - Build a Slackware package
179 swinstall - Build a HP-UX package (also depot)
180 tardist - Builds an IRIX package (also inst)
93d2f0c0 181
182
3ba676e9 183GETTING DEBUG LOGGING FROM CUPS
184
639ca68a 185 When configured with the "--enable-debug-printfs" option, CUPS compiles in
186 additional debug logging support in the scheduler, CUPS API, and CUPS
571af0ea 187 Imaging API. The following environment variables are used to enable and
188 control debug logging:
189
190 CUPS_DEBUG_FILTER Specifies a POSIX regular expression to control
191 which messages are logged.
192 CUPS_DEBUG_LEVEL Specifies a number from 0 to 9 to control the
193 verbosity of the logging. The default level is 1.
aa14682a 194 CUPS_DEBUG_LOG Specifies a log file to use. Specify the name "-"
195 to send the messages to stderr. Prefix a filename
196 with "+" to append to an existing file.
3ba676e9 197
198
93d2f0c0 199REPORTING PROBLEMS
200
639ca68a 201 If you have problems, READ THE DOCUMENTATION FIRST! If the documentation
202 does not solve your problems, please post a message on the "cups.general"
203 forum at:
781996c9 204
205 http://www.cups.org/newsgroups.php
206
639ca68a 207 Include your operating system and version, compiler and version, and any
208 errors or problems you've run into. The "config.log" file and the output
209 from the configure script and make should also be sent, as it often helps to
210 determine the cause of your problem.
781996c9 211
639ca68a 212 If you are running a version of Linux, be sure to provide the Linux
213 distribution you have, too.