]>
Commit | Line | Data |
---|---|---|
1 | INSTALL - CUPS v1.4svn - 2008-04-23 | |
2 | ----------------------------------- | |
3 | ||
4 | This file describes how to compile and install CUPS from source | |
5 | code. For more information on CUPS see the file called | |
6 | "README.txt". A complete change log can be found in | |
7 | "CHANGES.txt". | |
8 | ||
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. **** | |
13 | ||
14 | ||
15 | BEFORE YOU BEGIN | |
16 | ||
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. | |
21 | ||
22 | The makefiles used by the project should work with most | |
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. | |
25 | BSD users should use GNU make (gmake) since BSD make does | |
26 | not support "include". | |
27 | ||
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. | |
34 | ||
35 | Kerberos support requires MIT Kerberos 1.6.3 or later or | |
36 | Heimdal Kerberos, along with the corresponding GSSAPI | |
37 | pieces. | |
38 | ||
39 | Also, please note that CUPS no longer includes the | |
40 | Ghostscript- based pstoraster filter. You *must* download | |
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. | |
44 | ||
45 | ||
46 | COMPILING FROM SUBVERSION | |
47 | ||
48 | The CUPS Subversion repository doesn't hold a copy of the | |
49 | pre-built configure script. You'll need to run the GNU | |
50 | autoconf software (2.60 or higher) before compiling the | |
51 | software from Subversion: | |
52 | ||
53 | autoconf -f | |
54 | ||
55 | ||
56 | CONFIGURATION | |
57 | ||
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: | |
61 | ||
62 | ./configure | |
63 | ||
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: | |
69 | ||
70 | ./configure --prefix=/some/directory | |
71 | ||
72 | To see a complete list of configuration options, use the | |
73 | --help option: | |
74 | ||
75 | ./configure --help | |
76 | ||
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: | |
82 | ||
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 ... | |
89 | ||
90 | or: | |
91 | ||
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 ... | |
98 | ||
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 | ||
103 | Once you have configured things, just type: | |
104 | ||
105 | make ENTER | |
106 | ||
107 | or if you have FreeBSD, NetBSD, or OpenBSD type: | |
108 | ||
109 | gmake ENTER | |
110 | ||
111 | to build the software. | |
112 | ||
113 | ||
114 | INSTALLING THE SOFTWARE | |
115 | ||
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: | |
119 | ||
120 | make install ENTER | |
121 | ||
122 | or for FreeBSD, NetBSD, or OpenBSD: | |
123 | ||
124 | gmake install ENTER | |
125 | ||
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. | |
132 | ||
133 | You can find the RPM software at: | |
134 | ||
135 | http://www.rpm.org/ | |
136 | ||
137 | The EPM software is available at: | |
138 | ||
139 | http://www.easysw.com/epm/ | |
140 | ||
141 | ||
142 | CREATING BINARY DISTRIBUTIONS WITH EPM | |
143 | ||
144 | The top level makefile supports generation of many types of binary | |
145 | distributions using EPM. To build a binary distribution type: | |
146 | ||
147 | make <format> ENTER | |
148 | ||
149 | or | |
150 | ||
151 | gmake <format> ENTER | |
152 | ||
153 | for FreeBSD, NetBSD, and OpenBSD. The <format> target is one of | |
154 | the following: | |
155 | ||
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) | |
169 | ||
170 | ||
171 | GETTING 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 | ||
180 | REPORTING PROBLEMS | |
181 | ||
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. |