Merge changes from CUPS 1.4svn-r7874.
[thirdparty/cups.git] / INSTALL.txt
CommitLineData
634763e8 1INSTALL - CUPS v1.4svn - 2008-04-23
5bd77a73 2-----------------------------------
ef416fc2 3
4This file describes how to compile and install CUPS from source
5code. For more information on CUPS see the file called
6"README.txt". A complete change log can be found in
7"CHANGES.txt".
8
7ff4fea9
MS
9**** IF YOU HAVE A NON-POSTSCRIPT PRINTER AND ARE NOT ****
10**** RUNNING MAC OS X, YOU WILL ALSO NEED TO INSTALL GPL ****
11**** GHOSTSCRIPT WITH THE "cups" DRIVER AFTER YOU INSTALL ****
12**** CUPS. ****
ef416fc2 13
14
15BEFORE YOU BEGIN
16
634763e8
MS
17 You'll need ANSI-compliant C and C++ compilers, plus a make
18 program and Bourne shell. The GNU compiler tools work well -
19 we've tested the current CUPS code against several versions
20 of GCC with excellent results.
ef416fc2 21
5bd77a73 22 The makefiles used by the project should work with most
4744bd90 23 versions of make. We've tested them with GNU make as well as
24 the make programs shipped by Compaq, HP, SGI, and Sun.
5bd77a73
MS
25 BSD users should use GNU make (gmake) since BSD make does
26 not support "include".
ef416fc2 27
4744bd90 28 Besides these tools you'll want the JPEG, PNG, TIFF, and ZLIB
29 libraries for image support, the CDSA, GNU TLS, or OpenSSL
30 libraries for encryption support, and the OpenLDAP and
31 OpenSLP libraries for directory services support. CUPS will
32 compile and run without these, however you'll miss out on
33 many of the features provided by CUPS.
ef416fc2 34
5bd77a73 35 Kerberos support requires MIT Kerberos 1.6.3 or later or
839a51c8 36 Heimdal Kerberos, along with the corresponding GSSAPI
7ff4fea9
MS
37 pieces.
38
4744bd90 39 Also, please note that CUPS no longer includes the
40 Ghostscript- based pstoraster filter. You *must* download
7ff4fea9
MS
41 GPL Ghostscript separately from the CUPS web site if you want
42 to print PostScript files to non-PostScript printers on
43 operating systems other than Mac OS X.
ef416fc2 44
ef416fc2 45
4744bd90 46COMPILING FROM SUBVERSION
ef416fc2 47
4744bd90 48 The CUPS Subversion repository doesn't hold a copy of the
49 pre-built configure script. You'll need to run the GNU
5bd77a73 50 autoconf software (2.60 or higher) before compiling the
4744bd90 51 software from Subversion:
ef416fc2 52
4744bd90 53 autoconf -f
ef416fc2 54
55
56CONFIGURATION
57
4744bd90 58 CUPS uses GNU autoconf, so you should find the usual
59 "configure" script in the main CUPS source directory. To
60 configure CUPS for your system, type:
ef416fc2 61
4744bd90 62 ./configure
ef416fc2 63
4744bd90 64 The default installation will put the CUPS software in the
65 "/etc", "/usr", and "/var" directories on your system, which
66 will overwrite any existing printing commands on your system.
67 Use the "--prefix" option to install the CUPS software in
68 another location:
ef416fc2 69
4744bd90 70 ./configure --prefix=/some/directory
ef416fc2 71
4744bd90 72 To see a complete list of configuration options, use the
73 --help option:
ef416fc2 74
4744bd90 75 ./configure --help
ef416fc2 76
4744bd90 77 If any of the dependent libraries are not installed in a
78 system default location (typically "/usr/include" and
79 "/usr/lib") you'll need to set the CFLAGS, CPPFLAGS,
80 CXXFLAGS, DSOFLAGS, and LDFLAGS environment variables prior
81 to running configure:
ef416fc2 82
4744bd90 83 setenv CFLAGS "-I/some/directory"
84 setenv CPPFLAGS "-I/some/directory"
85 setenv CXXFLAGS "-I/some/directory"
86 setenv DSOFLAGS "-L/some/directory"
87 setenv LDFLAGS "-L/some/directory"
88 ./configure ...
ef416fc2 89
4744bd90 90 or:
ef416fc2 91
4744bd90 92 CFLAGS="-I/some/directory" \
93 CPPFLAGS="-I/some/directory" \
94 CXXFLAGS="-I/some/directory" \
95 DSOFLAGS="-L/some/directory" \
96 LDFLAGS="-L/some/directory" \
97 ./configure ...
ef416fc2 98
634763e8
MS
99 The "--enable-debug" option compiles CUPS with debugging enabled,
100 as well as support for debug logging via the CUPS_DEBUG_LOG
101 environment variable at run-time.
102
4744bd90 103 Once you have configured things, just type:
ef416fc2 104
4744bd90 105 make ENTER
ef416fc2 106
4744bd90 107 or if you have FreeBSD, NetBSD, or OpenBSD type:
ef416fc2 108
4744bd90 109 gmake ENTER
ef416fc2 110
4744bd90 111 to build the software.
ef416fc2 112
113
114INSTALLING THE SOFTWARE
115
4744bd90 116 Once you have built the software you need to install it. The
117 "install" target provides a quick way to install the software
118 on your local system:
ef416fc2 119
4744bd90 120 make install ENTER
ef416fc2 121
4744bd90 122 or for FreeBSD, NetBSD, or OpenBSD:
ef416fc2 123
4744bd90 124 gmake install ENTER
ef416fc2 125
4744bd90 126 You can also build binary packages that can be installed on
127 other machines using the RPM spec file
128 ("packaging/cups.spec") or EPM list file
129 ("packaging/cups.list"). The latter also supports building
130 of binary RPMs, so it may be more convenient to use - we use
131 EPM to build all of our binary distributions.
ef416fc2 132
4744bd90 133 You can find the RPM software at:
ef416fc2 134
4744bd90 135 http://www.rpm.org/
ef416fc2 136
4744bd90 137 The EPM software is available at:
ef416fc2 138
4744bd90 139 http://www.easysw.com/epm/
ef416fc2 140
141
142CREATING BINARY DISTRIBUTIONS WITH EPM
143
4744bd90 144 The top level makefile supports generation of many types of binary
145 distributions using EPM. To build a binary distribution type:
ef416fc2 146
4744bd90 147 make <format> ENTER
ef416fc2 148
4744bd90 149 or
ef416fc2 150
4744bd90 151 gmake <format> ENTER
ef416fc2 152
4744bd90 153 for FreeBSD, NetBSD, and OpenBSD. The <format> target is one of
154 the following:
ef416fc2 155
4744bd90 156 epm - Builds a script + tarfile package
157 aix - Builds an AIX package
158 bsd - Builds a *BSD package
159 deb - Builds a Debian package
160 depot - Builds a HP-UX package (also swinstall)
161 inst - Builds an IRIX package (also tardist)
162 osx - Builds a MacOS X package
163 pkg - Builds a Solaris package
164 rpm - Builds a RPM package
165 setld - Build a Tru64 UNIX package
166 slackware - Build a Slackware package
167 swinstall - Build a HP-UX package (also depot)
168 tardist - Builds an IRIX package (also inst)
ef416fc2 169
170
634763e8
MS
171GETTING DEBUG LOGGING FROM CUPS
172
173 When configured with the "--enable-debug" option, CUPS compiles
174 in additional debug logging support in the scheduler, CUPS API,
175 and CUPS Imaging API. Set the CUPS_DEBUG_LOG environment
176 variable to a filename to append logging information at run-time.
177 Use the name "-" to send the messages to stderr.
178
179
ef416fc2 180REPORTING PROBLEMS
181
4744bd90 182 If you have problems, READ THE DOCUMENTATION FIRST! If the
183 documentation does not solve your problems, please post a
184 message on the "cups.general" forum at:
185
186 http://www.cups.org/newsgroups.php
187
188 Include your operating system and version, compiler and
189 version, and any errors or problems you've run into. The
190 "config.log" file and the output from the configure script
191 and make should also be sent, as it often helps to determine
192 the cause of your problem.
193
194 If you are running a version of Linux, be sure to provide the
195 Linux distribution you have, too.