]> git.ipfire.org Git - thirdparty/cups.git/blame - INSTALL.txt
Import CUPS v2.0rc1
[thirdparty/cups.git] / INSTALL.txt
CommitLineData
5d2cc5d3
MS
1INSTALL - CUPS v2.0rc1 - 2014-09-02
2-----------------------------------
ef416fc2 3
557dde9f
MS
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".
ef416fc2 7
0cb67df3
MS
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*******************************************************************************
ef416fc2 18
19
20BEFORE YOU BEGIN
21
557dde9f
MS
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.
ef416fc2 26
557dde9f
MS
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".
ef416fc2 31
6961465f
MS
32 Besides these tools you'll want ZLIB library for compression support, the
33 CDSA, GNU TLS, or OpenSSL libraries for encryption support, and either MIT
34 (1.6.3 or higher) or Heimdal Kerberos for Kerberos support. CUPS will
35 compile and run without these, however you'll miss out on many of the
36 features provided by CUPS.
37
38 Also, please note that CUPS does not include print filters to support PDF
39 or raster printing. You *must* download GPL Ghostscript and/or the Open
40 Printing CUPS filters package separately to print on operating systems
41 other than OS X.
7ff4fea9 42
ef416fc2 43
557dde9f 44COMPILING THE SUBVERSION REPOSITORY CODE
ef416fc2 45
557dde9f
MS
46 The CUPS Subversion repository doesn't hold a copy of the pre-built
47 configure script. You'll need to run the GNU autoconf software (2.60 or
48 higher) to create it:
ef416fc2 49
4e6f60f0 50 autoconf
ef416fc2 51
52
53CONFIGURATION
54
557dde9f
MS
55 CUPS uses GNU autoconf, so you should find the usual "configure" script in
56 the main CUPS source directory. To configure CUPS for your system, type:
ef416fc2 57
4744bd90 58 ./configure
ef416fc2 59
557dde9f
MS
60 The default installation will put the CUPS software in the "/etc", "/usr",
61 and "/var" directories on your system, which will overwrite any existing
62 printing commands on your system. Use the "--prefix" option to install the
63 CUPS software in another location:
ef416fc2 64
4744bd90 65 ./configure --prefix=/some/directory
ef416fc2 66
557dde9f 67 To see a complete list of configuration options, use the --help option:
ef416fc2 68
4744bd90 69 ./configure --help
ef416fc2 70
557dde9f
MS
71 If any of the dependent libraries are not installed in a system default
72 location (typically "/usr/include" and "/usr/lib") you'll need to set the
73 CFLAGS, CPPFLAGS, CXXFLAGS, DSOFLAGS, and LDFLAGS environment variables
74 prior to running configure:
ef416fc2 75
4744bd90 76 setenv CFLAGS "-I/some/directory"
77 setenv CPPFLAGS "-I/some/directory"
78 setenv CXXFLAGS "-I/some/directory"
79 setenv DSOFLAGS "-L/some/directory"
80 setenv LDFLAGS "-L/some/directory"
81 ./configure ...
ef416fc2 82
4744bd90 83 or:
ef416fc2 84
4744bd90 85 CFLAGS="-I/some/directory" \
86 CPPFLAGS="-I/some/directory" \
87 CXXFLAGS="-I/some/directory" \
88 DSOFLAGS="-L/some/directory" \
89 LDFLAGS="-L/some/directory" \
90 ./configure ...
ef416fc2 91
557dde9f
MS
92 The "--enable-debug" option compiles CUPS with debugging information
93 enabled. Additional debug logging support can be enabled using the
94 "--enable-debug-printfs" option - these debug messages are enabled using the
95 CUPS_DEBUG_LOG environment variable at run-time.
96
97 CUPS also includes an extensive set of unit tests that can be used to find
98 and diagnose a variety of common problems - use the "--enable-unit-tests"
99 configure option to run them at build time.
634763e8 100
4744bd90 101 Once you have configured things, just type:
ef416fc2 102
4744bd90 103 make ENTER
ef416fc2 104
4744bd90 105 or if you have FreeBSD, NetBSD, or OpenBSD type:
ef416fc2 106
4744bd90 107 gmake ENTER
ef416fc2 108
4744bd90 109 to build the software.
ef416fc2 110
111
557dde9f
MS
112TESTING THE SOFTWARE
113
114 Aside from the built-in unit tests, CUPS includes an automated test
115 framework for testing the entire printing system. To run the tests, just
116 type:
117
118 make check ENTER
119
120 or if you have FreeBSD, NetBSD, or OpenBSD type:
121
122 gmake check ENTER
123
124 The test framework runs a copy of the CUPS scheduler (cupsd) on port 8631
125 in /tmp/cups-$USER and produces a nice HTML report of the results.
126
127
ef416fc2 128INSTALLING THE SOFTWARE
129
557dde9f
MS
130 Once you have built the software you need to install it. The "install"
131 target provides a quick way to install the software on your local system:
ef416fc2 132
4744bd90 133 make install ENTER
ef416fc2 134
4744bd90 135 or for FreeBSD, NetBSD, or OpenBSD:
ef416fc2 136
4744bd90 137 gmake install ENTER
ef416fc2 138
557dde9f
MS
139 You can also build binary packages that can be installed on other machines
140 using the RPM spec file ("packaging/cups.spec") or EPM list file
141 ("packaging/cups.list"). The latter also supports building of binary RPMs,
142 so it may be more convenient to use.
ef416fc2 143
4744bd90 144 You can find the RPM software at:
ef416fc2 145
4744bd90 146 http://www.rpm.org/
ef416fc2 147
4744bd90 148 The EPM software is available at:
ef416fc2 149
9520743f 150 http://www.msweet.org/
ef416fc2 151
152
153CREATING BINARY DISTRIBUTIONS WITH EPM
154
4744bd90 155 The top level makefile supports generation of many types of binary
156 distributions using EPM. To build a binary distribution type:
ef416fc2 157
4744bd90 158 make <format> ENTER
ef416fc2 159
4744bd90 160 or
ef416fc2 161
4744bd90 162 gmake <format> ENTER
ef416fc2 163
557dde9f
MS
164 for FreeBSD, NetBSD, and OpenBSD. The <format> target is one of the
165 following:
ef416fc2 166
4744bd90 167 epm - Builds a script + tarfile package
4744bd90 168 bsd - Builds a *BSD package
169 deb - Builds a Debian package
4744bd90 170 pkg - Builds a Solaris package
171 rpm - Builds a RPM package
4744bd90 172 slackware - Build a Slackware package
ef416fc2 173
174
634763e8
MS
175GETTING DEBUG LOGGING FROM CUPS
176
557dde9f
MS
177 When configured with the "--enable-debug-printfs" option, CUPS compiles in
178 additional debug logging support in the scheduler, CUPS API, and CUPS
e07d4801
MS
179 Imaging API. The following environment variables are used to enable and
180 control debug logging:
181
182 CUPS_DEBUG_FILTER Specifies a POSIX regular expression to control
183 which messages are logged.
184 CUPS_DEBUG_LEVEL Specifies a number from 0 to 9 to control the
185 verbosity of the logging. The default level is 1.
f11a948a
MS
186 CUPS_DEBUG_LOG Specifies a log file to use. Specify the name "-"
187 to send the messages to stderr. Prefix a filename
188 with "+" to append to an existing file.
634763e8
MS
189
190
ef416fc2 191REPORTING PROBLEMS
192
557dde9f 193 If you have problems, READ THE DOCUMENTATION FIRST! If the documentation
9520743f 194 does not solve your problems, please post a message on the users forum at:
4744bd90 195
9520743f 196 http://www.cups.org/
4744bd90 197
557dde9f
MS
198 Include your operating system and version, compiler and version, and any
199 errors or problems you've run into. The "config.log" file and the output
200 from the configure script and make should also be sent, as it often helps to
201 determine the cause of your problem.
4744bd90 202
557dde9f
MS
203 If you are running a version of Linux, be sure to provide the Linux
204 distribution you have, too.